auto count = 0;

/* this should match <include/ebytecode.h> */
string_t N	= "nothing";
string_t OOM	= "out of memory";
string_t FPE	= "floating point error";
string_t OOB	= "out of bounds";
string_t ND	= "null dereference";
string_t TM	= "type mismatch";
string_t IOE	= "input output error";
string_t IA	= "invalid argument";
string_t NAN	= "not a number";
string_t NAI	= "not an integer";
string_t NARN	= "not a real number";
string_t NAQN	= "not a rational number";
string_t NA32BI	= "not a 32 bits integer";
string_t NAFRN	= "not a finite real number";
string_t names[] = {
    N,
    OOM,
    FPE,
    OOB,
    ND,
    TM,
    IOE,
    IA,
    NAN,
    NAI,
    NARN,
    NAQN,
    NA32BI,
    NAFRN,
};
string_t FIXME = "FIXME";
string_t IGNORE = "IGNORE";	/* only check that the vm doesn't crash
				 * neither generate an exception?! */

auto check(e, v) {
    // both nan or not nan?
    if (nan_p(e) ^ nan_p(v))
	return false;
    // both nan
    else if (nan_p(e))
	return true;
    // both not nan

    // both inf or not inf?
    if (!!inf_p(e) ^ !!inf_p(v))
	return false;

    // both real or not real?
    if ((!real_p(e) ^ !real_p(v)))
	return false;

    // both real and different signs?
    else if (real_p(e) && e && signbit(e) != signbit(v))
	return false;

    /* FIXME need to scale comparison */
    if (e != v && abs(e - v) > 0.0000000001)
	return false;
    return true;
}

void unary(op, ...) {
    ++count;
    auto i, e, v, l, c = sizeof(...) - 2;
    for (i = -1; i < c;) {
	++count;
	l = ...[++i];
	e = ...[++i];
	try {
	    switch (op) {
		case '~':	v = ~l;		break;
		case '!':	v = !l;		break;

		    /* generate eop_bool in optimization */
		case '!!':	v = !!l;	break;

		case '-':	v = -l;		break;
		case '+':	v = +l;		break;
		case '++':	v = ++l;	break;
		case '--':	v = --l;	break;

		    /* these will not report the proper expected value,
		     * but the only failure cause should be either incorrect
		     * code, or sharing objects that should not be shared */
		case '@++':	v = l++;	break;
		case '@--':	v = l--;	break;

		    /* generate eop_intp_0 in optimization */
		case '&0':	v = l & 0;	break;
		case '0&':	v = 0 & l;	break;

		    /* generate eop_intp_v in optimization */
		case '&-1':	v = l & -1;	break;
		case '-1&':	v = -1 & l;	break;
		case '|0':	v = l | 0;	break;
		case '0|':	v = 0 | l;	break;

		    /* generate eop_intp_n1 in optimization */
		case '|-1':	v = l | -1;	break;
		case '-1|':	v = -1 | l;	break;

		    /* generate eop_com in optimization */
		case '^-1':	v = l ^ -1;	break;
		case '-1^':	v = -1 ^ l;	break;

		    /* generate eop_not in optimization */
		case '==0':	v = l == 0;	break;
		case '0==':	v = 0 == l;	break;

		    /* generate eop_bool in optimization */
		case '!=0':	v = l != 0;	break;
		case '0!=':	v = 0 != l;	break;

		    /* generate eop_nump_v in optimization */
		case '*1':	v = l * 1;	break;
		case '/1':	v = l / 1;	break;
		case '<<0':	v = l << 0;	break;
		case '>>0':	v = l >> 0;	break;

		    /* generate eop_inc in optimization */
		case '+1':	v = l + 1;	break;
		case '1+':	v = 1 + l;	break;
		case '--1':	v = l - -1;	break;

		    /* generate eop_neg in optimization */
		case '*-1':	v = l * -1;	break;
		case '/-1':	v = l / -1;	break;

		    /* generate eop_dec in optimization */
		case '+-1':	v = l + -1;	break;
		case '-1+':	v = -1 + l;	break;
		case '-1':	v = l - 1;	break;

		    /* generate eop_neg,eop_inc in optimization */
		case '1-':	v = 1 - l;	break;

		    /* generate eop_neg,eop_dec in optimization */
		case '-1-':	v = -1 - l;	break;

		    /* convert to eop_push,eop_add in optimization */
		case '*2':	v = l * 2;	break;

		    /* generate eop_inv in optimization */
		case '1/':	v = 1 / l;	break;

		    /* convert to v*2 in optimization */
		case '/1/2':	v = l / (1/2);	break;

		    /* generate eop_trunc in optimization */
		case '\\1':	v = l \ 1;	break;

		    /* generate eop_trunc,eop_neg in optimization */
		case '\\-1':	v = l \ -1;	break;

		    /* generate eop_floor in optimization */
		case '<<<0':	v = l <<< 0;	break;
		case '>>>0':	v = l >>> 0;	break;

		    /* 8 bytes fixed limit on switch keys
		     * FIXME iff changing to use word types on 32 bits
		     * architectures, this may hurt, as well as in the
		     * long future, on 128 bits computers...
		     */
		case 'signbit':	v = signbit(l);	break;
		case 'signum':	v = signum(l);	break;
		case 'ratio':	v = rational(l);break;
		case 'int_p':	v = integer_p(l);break;
		case 'ratio_p':	v = rational_p(l);break;
		case 'float_p':	v = float_p(l);	break;
		case 'real_p':	v = real_p(l);	break;
		case 'cmplx_p':	v = complex_p(l);break;
		case 'num_p':	v = number_p(l);break;
		case 'finit_p':	v = finite_p(l);break;
		case 'inf_p':	v = inf_p(l);	break;
		case 'nan_p':	v = nan_p(l);	break;
		case 'num':	v = num(l);	break;
		case 'den':	v = den(l);	break;
		case 'real':	v = real(l);	break;
		case 'imag':	v = imag(l);	break;
		case 'arg':	v = arg(l);	break;
		case 'conj':	v = conj(l);	break;
		case 'floor':	v = floor(l);	break;
		case 'trunc':	v = trunc(l);	break;
		case 'round':	v = round(l);	break;
		case 'ceil':	v = ceil(l);	break;
		case 'abs':	v = abs(l);	break;
		case 'sqrt':	v = sqrt(l);	break;
		case 'cbrt':	v = cbrt(l);	break;
		case 'sin':	v = sin(l);	break;
		case 'cos':	v = cos(l);	break;
		case 'tan':	v = tan(l);	break;
		case 'asin':	v = asin(l);	break;
		case 'acos':	v = acos(l);	break;
		case 'atan':	v = atan(l);	break;
		case 'sinh':	v = sinh(l);	break;
		case 'cosh':	v = cosh(l);	break;
		case 'tanh':	v = tanh(l);	break;
		case 'asinh':	v = asinh(l);	break;
		case 'acosh':	v = acosh(l);	break;
		case 'atanh':	v = atanh(l);	break;
		case 'proj':	v = proj(l);	break;
		case 'exp':	v = exp(l);	break;
		case 'log':	v = log(l);	break;
		case 'log2':	v = log2(l);	break;
		case 'log10':	v = log10(l);	break;
		default:	print("%d: ERROR: unexpected op '%c'\n",
				      count, op);
		    throw -1;
	    }
	    if (e != IGNORE) {
		if (e == FIXME)
		    print("%d: FIXME (%c %#s = %#s)\n", count, op, l, v);
		else {
		    // both complex or not complex?
		    if ((complex_p(e) ^ complex_p(v)) == 0) {
			// both complex
			if (complex_p(e)) {
			    if (check(real(e), real(v)) &&
				check(imag(e), imag(v)))
			    goto ok;
			}
			// both not complex
			else if (check(e, v))
			    goto ok;
		    }
		    print("%d: expected %#s but (%c %#s = %#s)\n",
			  count, e, op, l, v);
		ok:;
		}
	    }
	}
	catch (ex) {
	    if (ex < 0 || ex >= sizeof(names))
		print("%d: expected '%s' but got exception %d for %c %#s\n",
		      count, e, ex, op, l);
	    /* FIXME this will generate the wrong test if the exception is
	     * caused by the test for correctness and not the operation */
	    else if (e != names[ex])
		print("%d: expected '%s' but got '%s' for %c %#s\n",
		      count, e, names[ex], op, l);
	}
    }
}

void binary(op, l, ...) {
    ++count;
    auto i, e, v, r, c = sizeof(...) - 2;
    for (i = -1; i < c;) {
	++count;
	r = ...[++i];
	e = ...[++i];
	try {
	    switch (op) {
		case '&&':	v = !!(l && r);	break;
		case '||':	v = !!(l || r);	break;
		case '<':	v = l < r;	break;
		case '<=':	v = l <= r;	break;
		case '==':	v = l == r;	break;
		case '>=':	v = l >= r;	break;
		case '>':	v = l > r;	break;
		case '!=':	v = l != r;	break;
		case '&':	v = l & r;	break;
		case '|':	v = l | r;	break;
		case '^':	v = l ^ r;	break;
		case '+':	v = l + r;	break;
		case '-':	v = l - r;	break;
		case '*':	v = l * r;	break;
		case '/':	v = l / r;	break;
		case '\\':	v = l \ r;	break;
		case '%':	v = l % r;	break;
		case '<<':	v = l << r;	break;
		case '>>':	v = l >> r;	break;
		case '<<<':	v = l <<< r;	break;
		case '>>>':	v = l >>> r;	break;
		case 'complex':	v = complex(l,r);break;
		case 'atan2':	v = atan2(l, r);break;
		case 'pow':	v = pow(l, r);	break;
		case 'hypot':	v = hypot(l, r);break;
		default:	print("%d: ERROR: unexpected op '%c'\n",
				      count, op);
		    throw -1;
	    }
	    if (e != IGNORE) {
		if (e == FIXME)
		    print("%d: FIXME (%c %#s %#s = %#s)\n", count, op, l, r, v);
		else {
		    // both complex or not complex?
		    if ((complex_p(e) ^ complex_p(v)) == 0) {
			// both complex
			if (complex_p(e)) {
			    if (check(real(e), real(v)) &&
				check(imag(e), imag(v)))
				goto ok;
			}
			// both not complex
			else if (check(e, v))
			    goto ok;
		    }
		    print("%d: expected %#s but (%c %#s %#s = %#s)\n",
			  count, e, op, l, r, v);
		ok:;
		}
	    }
	}
	catch (ex) {
	    if (ex < 0 || ex >= sizeof(names))
		print("%d: expected '%s' but got exception %d for %c %#s %#s\n",
		      count, e, ex, op, l, r);
	    /* FIXME this will generate the wrong test if the exception is
	     * caused by the test for correctness and not the operation */
	    else if (e != names[ex])
		print("%d: expected '%s' but got '%s' for %c %#s %#s\n",
		      count, e, names[ex], op, l, r);
	}
    }
}

#define compare(a, b)							\
if ((a) != (b) && abs((a) - (b)) > 0.0000000001)			\
    print("%d: %#s != %#s\n", __LINE__, a, b)

/* TODO
o finish adding nan, inf, -inf, -0.0 and -0.0L tests
o add tests for complex numbers with -0.0 and -0.0L imag part
  o implement "optimized" code for complex numbers with -0 imag part
  o implement "optimized" code for complex numbers with [+-]0 real part
  o implement comparison treating complex numbers with -0 imag part as reals
  o change real predicate to treat complex numbers with -0 imag as a real?
o add new "compare" macro to ensure all constant folding code is tested
o implement extra "missing" trignonometric, transcedental, etc

  FIXME
o gcc generates -0+0*I for:
	z = 0.0 / (-0.5-1.5*I)
  but generates -0-0*I for:
	z = -0.5-1.5*I;
	z = 0.0 / z;
 */

struct invalid_t {
    auto unused;
} invalid = {
    "string"
};
auto nanL = nan * 1L, infL = inf * 1L;

unary('~',
       null,			-1,
       0,			-1,
       0.0,			 NAI,
       0.0L,			 NAI,
       2,			-3,
      -2,			 1,
       2.0,			 NAI,
       2.0L,			 NAI,
       3,			-4,
      -3,			 2,
       0x8000000000000000,	-0x8000000000000001,
      -0x8000000000000000,	 0x7fffffffffffffff,
       1/2,			 NAI,
       0.5 +1.5 *I,		 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('-',
       nan,			 nan,
       inf,			-inf,
      -inf,			 inf,
       nanL,			 nanL,
       infL,			-infL,
      -infL,			 infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			-2,
      -2,			 2,
       2.0,			-2.0,
      -2.0,			 2.0,
       2.0L,			-2.0L,
      -2.0L,			 2.0L,
       0x8000000000000000,	-0x8000000000000000,
      -0x8000000000000000,	 0x8000000000000000,
       1/2,			-1/2,
      -1/2,			 1/2,
       1/2 +3/2 *I,		-1/2 -3/2 *I,
      -1/2 -3/2 *I,		 1/2 +3/2 *I,
       0.5 +1.5 *I,		-0.5 -1.5 *I,
      -0.5 -1.5 *I,		 0.5 +1.5 *I,
       0.5L+1.5L*I,		-0.5L-1.5L*I,
      -0.5L-1.5L*I,		 0.5L+1.5L*I,
       invalid,			 NAN);
unary('+',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 2,
      -2,			-2,
       2.0,			 2.0,
      -2.0,			-2.0,
       2.0L,			 2.0L,
      -2.0L,			-2.0L,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/2,			 1/2,
      -1/2,			-1/2,
       1/2 +3/2 *I,		 1/2 +3/2 *I,
      -1/2 -3/2 *I,		-1/2 -3/2 *I,
       0.5 +1.5 *I,		 0.5 +1.5 *I,
      -0.5 -1.5 *I,		-0.5 -1.5 *I,
       0.5L+1.5L*I,		 0.5L+1.5L*I,
      -0.5L-1.5L*I,		-0.5L-1.5L*I,
       invalid,			 NAN);
unary('++',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 1,
       0,			 1,
       0.0,			 1.0,
       0.0L,			 1.0L,
       2,			 3,
      -2,			-1,
       2.0,			 3.0,
      -2.0,			-1.0,
       2.0L,			 3.0L,
      -2.0L,			-1.0L,
       0x8000000000000000,	 0x8000000000000001,
      -0x8000000000000000,	-0x7fffffffffffffff,
       1/2,			 3/2,
      -1/2,			 1/2,
       0.5,			 1.5,
      -0.5,			 0.5,
       0.5L,			 1.5L,
      -0.5L,			 0.5L,
       1/2 +3/2 *I,		 3/2 +3/2 *I,
      -1/2 -3/2 *I,		 1/2 -3/2 *I,
       0.5 +1.5 *I,		 1.5 +1.5 *I,
      -0.5 -1.5 *I,		 0.5 -1.5 *I,
       0.5L+1.5L*I,		 1.5L+1.5L*I,
      -0.5L-1.5L*I,		 0.5L-1.5L*I,
       invalid,			 NAN);
unary('--',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			-1,
       0,			-1,
       0.0,			-1.0,
       0.0L,			-1.0L,
       2,			 1,
      -2,			-3,
       2.0,			 1.0,
      -2.0,			-3.0,
       2.0L,			 1.0L,
      -2.0L,			-3.0L,
       0x8000000000000000,	 0x7fffffffffffffff,
      -0x8000000000000000,	-0x8000000000000001,
       1/2,			-1/2,
      -1/2,			-3/2,
       0.5,			-0.5,
      -0.5,			-1.5,
       0.5L,			-0.5L,
      -0.5L,			-1.5L,
       1/2 +3/2 *I,		-1/2 +3/2 *I,
      -1/2 -3/2 *I,		-3/2 -3/2 *I,
       0.5 +1.5 *I,		-0.5 +1.5 *I,
      -0.5 -1.5 *I,		-1.5 -1.5 *I,
       0.5L+1.5L*I,		-0.5L+1.5L*I,
      -0.5L-1.5L*I,		-1.5L-1.5L*I,
       invalid,			 NAN);
unary('@++',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 null,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 2,
      -2,			-2,
       2.0,			 2.0,
      -2.0,			-2.0,
       2.0L,			 2.0L,
      -2.0L,			-2.0L,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/2,			 1/2,
      -1/2,			-1/2,
       0.5,			 0.5,
      -0.5,			-0.5,
       0.5L,			 0.5L,
      -0.5L,			-0.5L,
       1/2 +3/2 *I,		 1/2 +3/2 *I,
      -1/2 -3/2 *I,		-1/2 -3/2 *I,
       0.5 +1.5 *I,		 0.5 +1.5 *I,
      -0.5 -1.5 *I,		-0.5 -1.5 *I,
       0.5L+1.5L*I,		 0.5L+1.5L*I,
      -0.5L-1.5L*I,		-0.5L-1.5L*I,
       invalid,			 NAN);
unary('@--',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 null,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 2,
      -2,			-2,
       2.0,			 2.0,
      -2.0,			-2.0,
       2.0L,			 2.0L,
      -2.0L,			-2.0L,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/2,			 1/2,
      -1/2,			-1/2,
       0.5,			 0.5,
      -0.5,			-0.5,
       0.5L,			 0.5L,
      -0.5L,			-0.5L,
       1/2 +3/2 *I,		 1/2 +3/2 *I,
      -1/2 -3/2 *I,		-1/2 -3/2 *I,
       0.5 +1.5 *I,		 0.5 +1.5 *I,
      -0.5 -1.5 *I,		-0.5 -1.5 *I,
       0.5L+1.5L*I,		 0.5L+1.5L*I,
      -0.5L-1.5L*I,		-0.5L-1.5L*I,
       invalid,			 NAN);
unary('&0',
       null,			 0,
       2,			 0,
       2.0,			 NAI,
       2.0L,			 NAI,
       0x8000000000000000,	 0,
       1/2,			 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5 +1.5 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('0&',
       null,			 0,
       2,			 0,
       2.0,			 NAI,
       2.0L,			 NAI,
       0x8000000000000000,	 0,
       1/2,			 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5 +1.5 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('&-1',
       null,			 0,
       2,			 2,
       2.0,			 NAI,
       2.0L,			 NAI,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5 +1.5 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('-1&',
       null,			 0,
       2,			 2,
       2.0,			 NAI,
       2.0L,			 NAI,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5 +1.5 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('|0',
       null,			 0,
       2,			 2,
       2.0,			 NAI,
       2.0L,			 NAI,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5 +1.5 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('0|',
       null,			 0,
       2,			 2,
       2.0,			 NAI,
       2.0L,			 NAI,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5 +1.5 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('|-1',
       null,			-1,
       2,			-1,
       2.0,			 NAI,
       2.0L,			 NAI,
       0x8000000000000000,	-1,
       1/2,			 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5 +1.5 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('-1|',
       null,			-1,
       2,			-1,
       2.0,			 NAI,
       2.0L,			 NAI,
       0x8000000000000000,	-1,
       1/2,			 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5 +1.5 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('^-1',
       null,			-1,
       2,			-3,
       2.0,			 NAI,
       2.0L,			 NAI,
       0x8000000000000000,	-0x8000000000000001,
       1/2,			 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5 +1.5 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('-1^',
       null,			-1,
       2,			-3,
       2.0,			 NAI,
       2.0L,			 NAI,
       0x8000000000000000,	-0x8000000000000001,
       1/2,			 NAI,
       1/2 +3/2 *I,		 NAI,
       0.5 +1.5 *I,		 NAI,
       0.5L+1.5L*I,		 NAI,
       invalid,			 NAI);
unary('==0',
       nan,			 0,
       inf,			 0,
       nanL,			 0,
       infL,			 0,
       null,			 1,
       0,			 1,
       0.0,			 1,
       0.0L,			 1,
       2,			 0,
       2.0,			 0,
       2.0L,			 0,
       0x8000000000000000,	 0,
       1/2,			 0,
       1/2 +3/2 *I,		 0,
       0.5 +1.5 *I,		 0,
       0.5L+1.5L*I,		 0,
       invalid,			 0);
unary('0==',
       nan,			 0,
       inf,			 0,
       nanL,			 0,
       infL,			 0,
       null,			 1,
       0,			 1,
       0.0,			 1,
       0.0L,			 1,
       2,			 0,
       2.0,			 0,
       2.0L,			 0,
       0x8000000000000000,	 0,
       1/2,			 0,
       1/2 +3/2 *I,		 0,
       0.5 +1.5 *I,		 0,
       0.5L+1.5L*I,		 0,
       invalid,			 0);
unary('!=0',
       nan,			 1,
       inf,			 1,
       nanL,			 1,
       infL,			 1,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 1,
       2.0,			 1,
       2.0L,			 1,
       0x8000000000000000,	 1,
       1/2,			 1,
       1/2 +3/2 *I,		 1,
       0.5 +1.5 *I,		 1,
       0.5L+1.5L*I,		 1,
       invalid,			 1);
unary('0!=',
       nan,			 1,
       inf,			 1,
       nanL,			 1,
       infL,			 1,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 1,
       2.0,			 1,
       2.0L,			 1,
       0x8000000000000000,	 1,
       1/2,			 1,
       1/2 +3/2 *I,		 1,
       0.5 +1.5 *I,		 1,
       0.5L+1.5L*I,		 1,
       invalid,			 1);
unary('*1',
       nan,			 nan,
       inf,			 inf,
       nanL,			 nanL,
       infL,			 infL,
       null,			 null,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 1/2,
       1/2 +3/2 *I,		 1/2 +3/2 *I,
       0.5 +1.5 *I,		 0.5 +1.5 *I,
       0.5L+1.5L*I,		 0.5L+1.5L*I,
       invalid,			 NAN);
unary('/1',
       nan,			 nan,
       inf,			 inf,
       nanL,			 nanL,
       infL,			 infL,
       null,			 null,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 1/2,
       1/2 +3/2 *I,		 1/2 +3/2 *I,
       0.5 +1.5 *I,		 0.5 +1.5 *I,
       0.5L+1.5L*I,		 0.5L+1.5L*I,
       invalid,			 NAN);
unary('<<0',
       nan,			 nan,
       inf,			 inf,
       nanL,			 nanL,
       infL,			 infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 1/2,
       1/2 +3/2 *I,		 1/2 +3/2 *I,
       0.5 +1.5 *I,		 0.5 +1.5 *I,
       0.5L+1.5L*I,		 0.5L+1.5L*I,
       invalid,			 NAN);
unary('>>0',
       nan,			 nan,
       inf,			 inf,
       nanL,			 nanL,
       infL,			 infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 1/2,
       1/2 +3/2 *I,		 1/2 +3/2 *I,
       0.5 +1.5 *I,		 0.5 +1.5 *I,
       0.5L+1.5L*I,		 0.5L+1.5L*I,
       invalid,			 NAN);
unary('+1',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 1,
       0,			 1,
       0.0,			 1.0,
       0.0L,			 1.0L,
       0x8000000000000000,	 0x8000000000000001,
       1/2,			 3/2,
       1/2 +3/2 *I,		 3/2 +3/2 *I,
       0.5 +1.5 *I,		 1.5 +1.5 *I,
       0.5L+1.5L*I,		 1.5L+1.5L*I,
       invalid,			 NAN);
unary('1+',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 1,
       0,			 1,
       0.0,			 1.0,
       0.0L,			 1.0L,
       0x8000000000000000,	 0x8000000000000001,
       1/2,			 3/2,
       1/2 +3/2 *I,		 3/2 +3/2 *I,
       0.5 +1.5 *I,		 1.5 +1.5 *I,
       0.5L+1.5L*I,		 1.5L+1.5L*I,
       invalid,			 NAN);
unary('--1',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 1,
       0,			 1,
       0.0,			 1.0,
       0.0L,			 1.0L,
       0x8000000000000000,	 0x8000000000000001,
       1/2,			 3/2,
       1/2 +3/2 *I,		 3/2 +3/2 *I,
       0.5 +1.5 *I,		 1.5 +1.5 *I,
       0.5L+1.5L*I,		 1.5L+1.5L*I,
       invalid,			 NAN);
unary('*-1',
       nan,			 nan,
       inf,			-inf,
      -inf,			 inf,
       nanL,			 nanL,
       infL,			-infL,
      -infL,			 infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       0x8000000000000000,	-0x8000000000000000,
       1/2,			-1/2,
       1/2 +3/2 *I,		-1/2 -3/2 *I,
       0.5 +1.5 *I,		-0.5 -1.5 *I,
       0.5L+1.5L*I,		-0.5L-1.5L*I,
       invalid,			 NAN);
unary('/-1',
       nan,			 nan,
       inf,			-inf,
      -inf,			 inf,
       nanL,			 nanL,
       infL,			-infL,
      -infL,			 infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       0x8000000000000000,	-0x8000000000000000,
       1/2,			-1/2,
       1/2 +3/2 *I,		-1/2 -3/2 *I,
       0.5 +1.5 *I,		-0.5 -1.5 *I,
       0.5L+1.5L*I,		-0.5L-1.5L*I,
       invalid,			 NAN);
unary('+-1',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			-1,
       0,			-1,
       0.0,			-1.0,
       0.0L,			-1.0L,
       0x8000000000000000,	 0x7fffffffffffffff,
       1/2,			-1/2,
       1/2 +3/2 *I,		-1/2 +3/2 *I,
       0.5 +1.5 *I,		-0.5 +1.5 *I,
       0.5L+1.5L*I,		-0.5L+1.5L*I,
       invalid,			 NAN);
unary('-1+',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			-1,
       0,			-1,
       0.0,			-1.0,
       0.0L,			-1.0L,
       0x8000000000000000,	 0x7fffffffffffffff,
       1/2,			-1/2,
       1/2 +3/2 *I,		-1/2 +3/2 *I,
       0.5 +1.5 *I,		-0.5 +1.5 *I,
       0.5L+1.5L*I,		-0.5L+1.5L*I,
       invalid,			 NAN);
unary('-1',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			-1,
       0,			-1,
       0.0,			-1.0,
       0.0L,			-1.0L,
       0x8000000000000000,	 0x7fffffffffffffff,
       1/2,			-1/2,
       1/2 +3/2 *I,		-1/2 +3/2 *I,
       0.5 +1.5 *I,		-0.5 +1.5 *I,
       0.5L+1.5L*I,		-0.5L+1.5L*I,
       invalid,			 NAN);
unary('1-',
       nan,			 nan,
       inf,			-inf,
      -inf,			 inf,
       nanL,			 nanL,
       infL,			-infL,
      -infL,			 infL,
       null,			 1,
       0,			 1,
       0.0,			 1.0,
       0.0L,			 1.0L,
       0x8000000000000000,	-0x7fffffffffffffff,
       1/2,			 1/2,
       1/2 +3/2 *I,		 1/2 -3/2 *I,
       0.5 +1.5 *I,		 0.5 -1.5 *I,
       0.5L+1.5L*I,		 0.5L-1.5L*I,
       invalid,			 NAN);
unary('-1-',
       nan,			 nan,
       inf,			-inf,
      -inf,			 inf,
       nanL,			 nanL,
       infL,			-infL,
      -infL,			 infL,
       null,			-1,
       0,			-1,
       0.0,			-1.0,
       0.0L,			-1.0L,
       0x8000000000000000,	-0x8000000000000001,
       1/2,			-3/2,
       1/2 +3/2 *I,		-3/2 -3/2 *I,
       0.5 +1.5 *I,		-1.5 -1.5 *I,
       0.5L+1.5L*I,		-1.5L-1.5L*I,
       invalid,			 NAN);
unary('*2',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       0x8000000000000000,	 0x10000000000000000,
       1/2,			 1,
       1/2 +3/2 *I,		 1   +3   *I,
       0.5 +1.5 *I,		 1.0 +3.0 *I,
       0.5L+1.5L*I,		 1.0L+3.0L*I,
       invalid,			 NAN);
unary('1/',
       nan,			 nan,
       inf,			 0.0,
      -inf,			 0.0,
       nanL,			 nanL,
       infL,			 0.0L,
      -infL,			 0.0L,
       null,			 FPE,
       0,			 FPE,
       0.0,			 inf,
       0.0L,			 inf,
       2,			 1/2,
      -2,			-1/2,
       2.0,			 0.5,
      -2.0,			-0.5,
       2.0L,			 0.5L,
      -2.0L,			-0.5L,
       0x8000000000000000,	 1/0x8000000000000000,
      -0x8000000000000000,	-1/0x8000000000000000,
       1/2,			 2,
      -1/2,			-2,
       1/2 +3/2 *I,		 1/5 -3/5   *I,
      -1/2 -3/2 *I,		-1/5 +3/5   *I,
       0.5 +1.5 *I,		 0.2 -3/5.0 *I,
      -0.5 -1.5 *I,		-0.2 +3/5.0 *I,
       0.5L+1.5L*I,		 0.2L-3/5.0L*I,
      -0.5L-1.5L*I,		-0.2L+3/5.0L*I,
       invalid,			 NAN);
unary('/1/2',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       0x8000000000000000,	 0x10000000000000000,
       1/2,			 1,
       1/2 +3/2 *I,		 1   +3   *I,
       0.5 +1.5 *I,		 1.0 +3.0 *I,
       0.5L+1.5L*I,		 1.0L+3.0L*I,
       invalid,			 NAN);
unary('\\1',
       nan,			 FPE,
       inf,			 FPE,
       nanL,			 FPE,
       infL,			 FPE,
       null,			 0,
       2,			 2,
       2.0,			 2,
       2.0L,			 2,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 0,
       1/2 +3/2 *I,		 NARN,
       0.5 +1.5 *I,		 NARN,
       0.5L+1.5L*I,		 NARN,
       invalid,			 NARN);
unary('\\-1',
       nan,			 FPE,
       inf,			 FPE,
       nanL,			 FPE,
       infL,			 FPE,
       null,			 0,
       2,			-2,
       2.0,			-2,
       2.0L,			-2,
       0x8000000000000000,	-0x8000000000000000,
       1/2,			 0,
       1/2 +3/2 *I,		 NARN,
       0.5 +1.5 *I,		 NARN,
       0.5L+1.5L*I,		 NARN,
       invalid,			 NARN);
unary('<<<0',
       nan,			 FPE,
       inf,			 FPE,
       nanL,			 FPE,
       infL,			 FPE,
       null,			 0,
       0,			 0,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/2,			 0,
       0.5,			 0,
       0.5L,			 0,
       1/2 +3/2 *I,		 NARN,
       0.5 +1.5 *I,		 NARN,
       0.5L+1.5L*I,		 NARN,
       invalid,			 NARN);
unary('>>>0',
       nan,			 FPE,
       inf,			 FPE,
       nanL,			 FPE,
       infL,			 FPE,
       null,			 0,
       0,			 0,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/2,			 0,
       0.5,			 0,
       0.5L,			 0,
       1/2 +3/2 *I,		 NARN,
       0.5 +1.5 *I,		 NARN,
       0.5L+1.5L*I,		 NARN,
       invalid,			 NARN);
unary('!',
       nan,			 0,
       inf,			 0,
       nanL,			 0,
       infL,			 0,
       null,			 1,
       0,			 1,
       0.0,			 1,
       0.0L,			 1,
       2,			 0,
       2.0,			 0,
       2.0L,			 0,
       0x8000000000000000,	 0,
       1/2,			 0,
       1/2 +3/2 *I,		 0,
       0.5 +1.5 *I,		 0,
       0.5L+1.5L*I,		 0,
       invalid,			 0);
unary('!!',
       nan,			 1,
       inf,			 1,
       nanL,			 1,
       infL,			 1,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 1,
       2.0,			 1,
       2.0L,			 1,
       0x8000000000000000,	 1,
       1/2,			 1,
       1/2 +3/2 *I,		 1,
       0.5 +1.5 *I,		 1,
       0.5L+1.5L*I,		 1,
       invalid,			 1);
unary('signbit',
       nan,			 0,
       inf,			 0,
      -inf,			 1,
       nanL,			 0,
       infL,			 0,
      -infL,			 1,
       null,			 0,
       0,			 0,
       0.0,			 0,
      -0.0,			 1,
       0.0L,			 0,
      -0.0L,			 1,
       2,			 0,
      -2,			 1,
       2.0,			 0,
      -2.0,			 1,
       2.0L,			 0,
      -2.0L,			 1,
       0x8000000000000000,	 0,
      -0x8000000000000000,	 1,
       1/2,			 0,
      -1/2,			 1,
       1/2 +3/2 *I,		 NARN,
       0.5 +1.5 *I,		 NARN,
       0.5L+1.5L*I,		 NARN,
       invalid,			 NARN);
unary('signum',
       nan,			 nan,
       inf,			 1.0,
      -inf,			-1.0,
       nanL,			 nanL,
       infL,			 1.0L,
      -infL,			-1.0L,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 1,
      -2,			-1,
       2.0,			 1.0,
      -2.0,			-1.0,
       2.0L,			 1.0L,
      -2.0L,			-1.0L,
       0x8000000000000000,	 1,
      -0x8000000000000000,	-1,
       1/2,			 1,
      -1/2,			-1,
       1/2 +3/2 *I,		 0.3162277660168379332 +0.9486832980505137996 *I,
      -1/2 -3/2 *I,		-0.3162277660168379332 -0.9486832980505137996 *I,
       0.5 +1.5 *I,		 0.3162277660168379332 +0.9486832980505137996 *I,
      -0.5 -1.5 *I,		-0.3162277660168379332 -0.9486832980505137996 *I,
       0.5L+1.5L*I,		 0.3162277660168379332L+0.9486832980505137996L*I,
      -0.5L-1.5L*I,		-0.3162277660168379332L-0.9486832980505137996L*I,
       invalid,			 NAN);
unary('ratio',
       nan,			 NAFRN,
       inf,			 NAFRN,
       nanL,			 NAFRN,
       infL,			 NAFRN,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 2,
      -2,			-2,
       2.0,			 2,
      -2.0,			-2,
       2.0L,			 2,
      -2.0L,			-2,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/2,			 1/2,
      -1/2,			-1/2,
       0.5,			 1/2,
      -0.5,			-1/2,
       0.5L,			 1/2,
      -0.5L,			-1/2,
       3/5.0,			 5404319552844595/9007199254740992,
      -3/5.0,			-5404319552844595/9007199254740992,
       3/5.0L,			 5404319552844595/9007199254740992,
      -3/5.0L,			-5404319552844595/9007199254740992,
       1/2 +3/2 *I,		 NARN,
       0.5 +1.5 *I,		 NARN,
       0.5L+1.5L*I,		 NARN,
       invalid,			 NARN);
unary('int_p',
       nan,			 0,
       inf,			 0,
       nanL,			 0,
       infL,			 0,
       null,			 1,
       0,			 1,
       0.0,			 0,
       0.0L,			 0,
       2,			 1,
       2.0,			 0,
       2.0L,			 0,
       0x8000000000000000,	 1,
       1/2,			 0,
       1/2 +3/2 *I,		 0,
       0.5 +1.5 *I,		 0,
       0.5L+1.5L*I,		 0,
       invalid,			 0);
unary('ratio_p',
       nan,			 0,
       inf,			 0,
       nanL,			 0,
       infL,			 0,
       null,			 1,
       0,			 1,
       0.0,			 0,
       0.0L,			 0,
       2,			 1,
       2.0,			 0,
       2.0L,			 0,
       0x8000000000000000,	 1,
       1/2,			 1,
       1/2 +3/2 *I,		 0,
       0.5 +1.5 *I,		 0,
       0.5L+1.5L*I,		 0,
       invalid,			 0);
unary('float_p',
       nan,			 1,
       inf,			 1,
       nanL,			 1,
       infL,			 1,
       null,			 0,
       0,			 0,
       0.0,			 1,
       0.0L,			 1,
       2,			 0,
       2.0,			 1,
       2.0L,			 1,
       0x8000000000000000,	 0,
       1/2,			 0,
       1/2 +3/2 *I,		 0,
       0.5 +1.5 *I,		 0,
       0.5L+1.5L*I,		 0,
       invalid,			 0);
unary('real_p',
       nan,			 1,
       inf,			 1,
       nanL,			 1,
       infL,			 1,
       null,			 1,
       0,			 1,
       0.0,			 1,
       0.0L,			 1,
       2,			 1,
       2.0,			 1,
       2.0L,			 1,
       0x8000000000000000,	 1,
       1/2,			 1,
       1/2 +3/2 *I,		 0,
       0.5 +1.5 *I,		 0,
       0.5L+1.5L*I,		 0,
       invalid,			 0);
unary('cmplx_p',
       nan,			 0,
       inf,			 0,
       nanL,			 0,
       infL,			 0,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 0,
       2.0,			 0,
       2.0L,			 0,
       0x8000000000000000,	 0,
       1/2,			 0,
       1/2 +3/2 *I,		 1,
       0.5 +1.5 *I,		 1,
       0.5L+1.5L*I,		 1,
       invalid,			 0);
unary('num_p',
       nan,			 1,
       inf,			 1,
       nanL,			 1,
       infL,			 1,
       null,			 1,
       0,			 1,
       0.0,			 1,
       0.0L,			 1,
       2,			 1,
       2.0,			 1,
       2.0L,			 1,
       0x8000000000000000,	 1,
       1/2,			 1,
       1/2 +3/2 *I,		 1,
       0.5 +1.5 *I,		 1,
       0.5L+1.5L*I,		 1,
       invalid,			 0);
unary('finit_p',
       nan,			 0,
       inf,			 0,
      -inf,			 0,
       nanL,			 0,
       infL,			 0,
      -infL,			 0,
       null,			 1,
       0,			 1,
       0.0,			 1,
       0.0L,			 1,
       2,			 1,
       2.0,			 1,
       2.0L,			 1,
       0x8000000000000000,	 1,
       1/2,			 1,
       1/2 +3/2 *I,		 0,
       0.5 +1.5 *I,		 0,
       0.5L+1.5L*I,		 0,
       invalid,			 0);
unary('inf_p',
       nan,			 0,
       inf,			 1,
      -inf,			-1,
       nanL,			 0,
       infL,			 1,
      -infL,			-1,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 0,
       2.0,			 0,
       2.0L,			 0,
       0x8000000000000000,	 0,
       1/2,			 0,
       1/2 +3/2 *I,		 0,
       0.5 +1.5 *I,		 0,
       0.5L+1.5L*I,		 0,
       invalid,			 0);
unary('nan_p',
       nan,			 1,
       inf,			 0,
      -inf,			 0,
       nanL,			 1,
       infL,			 0,
      -infL,			 0,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 0,
       2.0,			 0,
       2.0L,			 0,
       0x8000000000000000,	 0,
       1/2,			 0,
       1/2 +3/2 *I,		 0,
       0.5 +1.5 *I,		 0,
       0.5L+1.5L*I,		 0,
       invalid,			 0);
unary('num',
       null,			 0,
       0,			 0,
       0.0,			 NAQN,
       0.0L,			 NAQN,
       0.0L,			 NAQN,
       2,			 2,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/2,			 1,
      -1/2,			-1,
       1/2 +3/2 *I,		 NAQN,
       0.5 +1.5 *I,		 NAQN,
       0.5L+1.5L*I,		 NAQN,
       invalid,			 NAQN);
unary('den',
       null,			 1,
       0,			 1,
       0.0,			 NAQN,
       0.0L,			 NAQN,
       2,			 1,
      -2,			 1,
       0x8000000000000000,	 1,
      -0x8000000000000000,	 1,
       1/2,			 2,
      -1/2,			 2,
       1/2 +3/2 *I,		 NAQN,
       0.5 +1.5 *I,		 NAQN,
       0.5L+1.5L*I,		 NAQN,
       invalid,			 NAQN);
unary('real',
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 2,
       2.0,			 2.0,
       2.0L,			 2.0L,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 1/2,
       1/2 +3/2 *I,		 1/2,
      -1/2 -3/2 *I,		-1/2,
       0.5 +1.5 *I,		 0.5,
      -0.5 -1.5 *I,		-0.5,
       0.5L+1.5L*I,		 0.5L,
      -0.5L-1.5L*I,		-0.5L,
       invalid,			 NAN);
unary('imag',
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 0,
       2.0,			 0,
       2.0L,			 0,
       0x8000000000000000,	 0,
       1/2,			 0,
       1/2 +3/2 *I,		 3/2,
      -1/2 -3/2 *I,		-3/2,
       0.5 +1.5 *I,		 1.5,
      -0.5 -1.5 *I,		-1.5,
       0.5L+1.5L*I,		 1.5L,
      -0.5L-1.5L*I,		-1.5L,
       invalid,			 NAN);
unary('arg',
       nan,			 nan,
       inf,			 0.0,
      -inf,			 3.1415926535897932385,
       nanL,			 nanL,
       infL,			 0.0L,
      -infL,			 3.1415926535897932385,
       null,			 0.0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 0.0,
      -2,			 3.1415926535897932385,
       2.0,			 0.0,
      -2.0,			 3.1415926535897932385,
       2.0L,			 0.0L,
      -2.0L,			 3.1415926535897932385L,
       0x8000000000000000,	 0.0,
      -0x8000000000000000,	 3.1415926535897932385,
       0x8000000000000000L,	 0.0L,
      -0x8000000000000000L,	 3.1415926535897932385L,
       1/2,			 0.0,
      -1/2,			 3.1415926535897932385,
       1/2 +3/2 *I,		 1.2490457723982544259,
      -1/2 -3/2 *I,		-1.8925468811915388127,
       complex(nan, 1.0),	 nan,
       complex(1.0, nan),	 nan,
       0.5 +1.5 *I,		 1.2490457723982544259,
      -0.5 -1.5 *I,		-1.8925468811915388127,
       complex(nan, 1L),	 nanL,
       complex(1L, nan),	 nanL,
       0.5L+1.5L*I,		 1.2490457723982544259L,
      -0.5L-1.5L*I,		-1.8925468811915388127L,
       invalid,			 NAN);
unary('conj',
       nan,			 nan,
       inf,			 inf,
       nanL,			 nanL,
       infL,			 infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 2,
       2.0,			 2.0,
       2.0L,			 2.0L,
       0x8000000000000000,	 0x8000000000000000,
       1/2,			 1/2,
       1/2 +3/2 *I,		 1/2 -3/2 *I,
      -1/2 -3/2 *I,		-1/2 +3/2 *I,
       0.5 +1.5 *I,		 0.5 -1.5 *I,
      -0.5 -1.5 *I,		-0.5 +1.5 *I,
       0.5L+1.5L*I,		 0.5L-1.5L*I,
      -0.5L-1.5L*I,		-0.5L+1.5L*I,
       invalid,			 NAN);
unary('floor',
       nan,			 FPE,
       inf,			 FPE,
       nanL,			 FPE,
       infL,			 FPE,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 2,
      -2,			-2,
       2.0,			 2,
      -2.0,			-2,
       2.0L,			 2,
      -2.0L,			-2,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/3,			 0,
      -1/3,			-1,
       1/3.0,			 0,
      -1/3.0,			-1,
       1/3.0L,			 0,
      -1/3.0L,			-1,
       1/2,			 0,
      -1/2,			-1,
       0.5,			 0,
      -0.5,			-1,
       0.5L,			 0,
      -0.5L,			-1,
       2/3,			 0,
      -2/3,			-1,
       2/3.0,			 0,
      -2/3.0,			-1,
       2/3.0L,			 0,
      -2/3.0L,			-1,
       3/2,			 1,
      -3/2,			-2,
       3/2.0,			 1,
      -3/2.0,			-2,
       3/2.0L,			 1,
      -3/2.0L,			-2,
       1/2 +3/2 *I,		 NARN,
       0.5 +1.5 *I,		 NARN,
       0.5L+1.5L*I,		 NARN,
       invalid,			 NARN);
unary('trunc',
       nan,			 FPE,
       inf,			 FPE,
       nanL,			 FPE,
       infL,			 FPE,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 2,
      -2,			-2,
       2.0,			 2,
      -2.0,			-2,
       2.0L,			 2,
      -2.0L,			-2,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/3,			 0,
      -1/3,			 0,
       1/3.0,			 0,
      -1/3.0,			 0,
       1/3.0L,			 0,
      -1/3.0L,			 0,
       1/2,			 0,
      -1/2,			 0,
       0.5,			 0,
      -0.5,			 0,
       0.5L,			 0,
      -0.5L,			 0,
       2/3,			 0,
      -2/3,			 0,
       2/3.0,			 0,
      -2/3.0,			 0,
       2/3.0L,			 0,
      -2/3.0L,			 0,
       3/2,			 1,
      -3/2,			-1,
       3/2.0,			 1,
      -3/2.0,			-1,
       3/2.0L,			 1,
      -3/2.0L,			-1,
       1/2 +3/2 *I,		 NARN,
       0.5 +1.5 *I,		 NARN,
       0.5L+1.5L*I,		 NARN,
       invalid,			 NARN);
unary('round',
       nan,			 FPE,
       inf,			 FPE,
       nanL,			 FPE,
       infL,			 FPE,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 2,
      -2,			-2,
       2.0,			 2,
      -2.0,			-2,
       2.0L,			 2,
      -2.0L,			-2,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/3,			 0,
      -1/3,			 0,
       1/3.0,			 0,
      -1/3.0,			 0,
       1/3.0L,			 0,
      -1/3.0L,			 0,
       1/2,			 1,
      -1/2,			-1,
       0.5,			 1,
      -0.5,			-1,
       0.5L,			 1,
      -0.5L,			-1,
       2/3,			 1,
      -2/3,			-1,
       2/3.0,			 1,
      -2/3.0,			-1,
       2/3.0L,			 1,
      -2/3.0L,			-1,
       3/2,			 2,
      -3/2,			-2,
       3/2.0,			 2,
      -3/2.0,			-2,
       3/2.0L,			 2,
      -3/2.0L,			-2,
       1/2 +3/2 *I,		 NARN,
       0.5 +1.5 *I,		 NARN,
       0.5L+1.5L*I,		 NARN,
       invalid,			 NARN);
unary('ceil',
       nan,			 FPE,
       inf,			 FPE,
       nanL,			 FPE,
       infL,			 FPE,
       null,			 0,
       0,			 0,
       0.0,			 0,
       0.0L,			 0,
       2,			 2,
      -2,			-2,
       2.0,			 2,
      -2.0,			-2,
       2.0L,			 2,
      -2.0L,			-2,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/3,			 1,
      -1/3,			 0,
       1/3.0,			 1,
      -1/3.0,			 0,
       1/3.0L,			 1,
      -1/3.0L,			 0,
       1/2,			 1,
      -1/2,			 0,
       0.5,			 1,
      -0.5,			 0,
       0.5L,			 1,
      -0.5L,			 0,
       2/3,			 1,
      -2/3,			 0,
       2/3.0,			 1,
      -2/3.0,			 0,
       2/3.0L,			 1,
      -2/3.0L,			 0,
       3/2,			 2,
      -3/2,			-1,
       3/2.0,			 2,
      -3/2.0,			-1,
       3/2.0L,			 2,
      -3/2.0L,			-1,
       1/2 +3/2 *I,		 NARN,
       0.5 +1.5 *I,		 NARN,
       0.5L+1.5L*I,		 NARN,
       invalid,			 NARN);
unary('abs',
       nan,			 nan,
       inf,			 inf,
      -inf,			 inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			 infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
      -0.0,			 0.0,
       0.0L,			 0.0L,
      -0.0L,			 0.0L,
       2,			 2,
      -2,			 2,
       2.0,			 2.0,
      -2.0,			 2.0,
       2.0L,			 2.0L,
      -2.0L,			 2.0L,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	 0x8000000000000000,
       1/2,			 1/2,
      -1/2,			 1/2,
       1/2 +3/2 *I,		 1.581138830084189666,
      -1/2 -3/2 *I,		 1.581138830084189666,
       0.5 +1.5 *I,		 1.581138830084189666,
      -0.5 -1.5 *I,		 1.581138830084189666,
       0.5L+1.5L*I,		 1.581138830084189666L,
      -0.5L-1.5L*I,		 1.581138830084189666L,
       invalid,			 NAN);
unary('sqrt',
       nan,			 nan,
       inf,			 inf,
      -inf,			 complex(0.0,  inf),
       nanL,			 nanL,
       infL,			 infL,
      -infL,			 complex(0.0L, infL),
       null,			 0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 1.4142135623730950488,
      -2,						1.4142135623730950488 *I,
       2.0,			 1.4142135623730950488,
      -2.0,						1.4142135623730950488 *I,
       2.0L,			 1.4142135623730950488L,
      -2.0L,						1.4142135623730950488L*I,
       3,			 1.7320508075688772,
      -3,						1.7320508075688772 *I,
       3.0,			 1.7320508075688772,
      -3.0,						1.7320508075688772 *I,
       3.0L,			 1.7320508075688772L,
      -3.0L,						1.7320508075688772L*I,
       0x8000000000000000,	 3037000499.9760496924,
      -0x8000000000000000,				3037000499.9760496924 *I,
       0x8000000000000000L,	 3037000499.9760496924L,
      -0x8000000000000000L,				3037000499.9760496924L*I,
       1/2,			 0.7071067811865475244,
      -1/2,						0.7071067811865475244 *I,
       0.5,			 0.7071067811865475244,
      -0.5,						0.7071067811865475244 *I,
       0.5L,			 0.7071067811865475244L,
      -0.5L,						0.7071067811865475244L*I,
       1/2 +3/2 *I,		 1.0200830432087844646 +0.7352342586156434216 *I,
      -1/2 -3/2 *I,		 0.7352342586156434216 -1.0200830432087844646 *I,
       0.5 +1.5 *I,		 1.0200830432087844646 +0.7352342586156434216 *I,
      -0.5 -1.5 *I,		 0.7352342586156434216 -1.0200830432087844646 *I,
       0.5L+1.5L*I,		 1.0200830432087844646L+0.7352342586156434216L*I,
      -0.5L-1.5L*I,		 0.7352342586156434216L-1.0200830432087844646L*I,
       invalid,			 NAN);
unary('cbrt',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 0.0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 1.2599210498948732,
      -2,			-1.2599210498948732,
       2.0,			 1.2599210498948732,
      -2.0,			-1.2599210498948732,
       2.0L,			 1.2599210498948732L,
      -2.0L,			-1.2599210498948732L,
       3,			 1.4422495703074083,
      -3,			-1.4422495703074083,
       3.0,			 1.4422495703074083,
      -3.0,			-1.4422495703074083,
       3.0L,			 1.4422495703074083L,
      -3.0L,			-1.4422495703074083L,
       0x8000000000000000,	 2097151.9999999999999,
      -0x8000000000000000,	-2097151.9999999999999,
       0x8000000000000000L,	 2097151.9999999999999L,
      -0x8000000000000000L,	-2097151.9999999999999L,
       1/2,			 0.7937005259840997374,
      -1/2,			-0.7937005259840997374,
       0.5,			 0.7937005259840997374,
      -0.5,			-0.7937005259840997374,
       0.5L,			 0.7937005259840997374L,
      -0.5L,			-0.7937005259840997374L,
       1/2 +3/2 *I,		 1.0654697334766722358 +0.47115077771622357474 *I,
      -1/2 -3/2 *I,		 0.9407634092533809373 -0.6871484672961215126  *I,
       0.5 +1.5 *I,		 1.0654697334766722358 +0.47115077771622357474 *I,
      -0.5 -1.5 *I,		 0.9407634092533809373 -0.6871484672961215126  *I,
       0.5L+1.5L*I,		 1.0654697334766722358L+0.47115077771622357474L*I,
      -0.5L-1.5L*I,		 0.9407634092533809373L-0.6871484672961215126L *I,
       invalid,			 NAN);
unary('sin',
       nan,			 nan,
       inf,			 nan,
      -inf,			 nan,
       nanL,			 nanL,
       infL,			 nanL,
      -infL,			 nanL,
       null,			 0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 0.9092974268256816954,
      -2,			-0.9092974268256816954,
       2.0,			 0.9092974268256816954,
      -2.0,			-0.9092974268256816954,
       2.0L,			 0.9092974268256816954L,
      -2.0L,			-0.9092974268256816954L,
       3,			 0.1411200080598672221,
      -3,			-0.1411200080598672221,
       3.0,			 0.1411200080598672221,
      -3.0,			-0.1411200080598672221,
       3.0L,			 0.1411200080598672221L,
      -3.0L,			-0.1411200080598672221L,
       0x8000000000000000,	 IGNORE,
      -0x8000000000000000,	 IGNORE,
       0x8000000000000000L,	 IGNORE,
      -0x8000000000000000L,	 IGNORE,
       1/2,			 0.47942553860420300028,
      -1/2,			-0.47942553860420300028,
       0.5,			 0.47942553860420300028,
      -0.5,			-0.47942553860420300028,
       0.5L,			 0.47942553860420300028L,
      -0.5L,			-0.47942553860420300028L,
       1/2 +3/2 *I,		 1.1278052468056997974 +1.8686185191826467685 *I,
      -1/2 -3/2 *I,		-1.1278052468056997974 -1.8686185191826467685 *I,
       0.5 +1.5 *I,		 1.1278052468056997974 +1.8686185191826467685 *I,
      -0.5 -1.5 *I,		-1.1278052468056997974 -1.8686185191826467685 *I,
       0.5L+1.5L*I,		 1.1278052468056997974L+1.8686185191826467685L*I,
      -0.5L-1.5L*I,		-1.1278052468056997974L-1.8686185191826467685L*I,
       invalid,			 NAN);
unary('cos',
       nan,			 nan,
       inf,			 nan,
      -inf,			 nan,
       nanL,			 nanL,
       infL,			 nanL,
      -infL,			 nanL,
       null,			 1,
       0,			 1.0,
       0.0,			 1.0,
       0.0L,			 1.0L,
       2,			-0.416146836547142387,
      -2,			-0.416146836547142387,
       2.0,			-0.416146836547142387,
      -2.0,			-0.416146836547142387,
       2.0L,			-0.416146836547142387L,
      -2.0L,			-0.416146836547142387L,
       3,			-0.9899924966004454573,
      -3,			-0.9899924966004454573,
       3.0,			-0.9899924966004454573,
      -3.0,			-0.9899924966004454573,
       3.0L,			-0.9899924966004454573L,
      -3.0L,			-0.9899924966004454573L,
       0x8000000000000000,	 IGNORE,
      -0x8000000000000000,	 IGNORE,
       0x8000000000000000L,	 IGNORE,
      -0x8000000000000000L,	 IGNORE,
       1/2,			 0.87758256189037271613,
      -1/2,			 0.87758256189037271613,
       0.5,			 0.87758256189037271613,
      -0.5,			 0.87758256189037271613,
       0.5L,			 0.87758256189037271613L,
      -0.5L,			 0.87758256189037271613L,
       1/2 +3/2 *I,		 2.0644336567607149647 -1.0208309495976967546 *I,
      -1/2 -3/2 *I,		 2.0644336567607149647 -1.0208309495976967546 *I,
       0.5 +1.5 *I,		 2.0644336567607149647 -1.0208309495976967546 *I,
      -0.5 -1.5 *I,		 2.0644336567607149647 -1.0208309495976967546 *I,
       0.5L+1.5L*I,		 2.0644336567607149647L-1.0208309495976967546L*I,
      -0.5L-1.5L*I,		 2.0644336567607149647L-1.0208309495976967546L*I,
       invalid,			 NAN);
unary('tan',
       nan,			 nan,
       inf,			 nan,
      -inf,			 nan,
       nanL,			 nanL,
       infL,			 nanL,
      -infL,			 nanL,
       null,			 0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			-2.1850398632615189917,
      -2,			 2.1850398632615189917,
       2.0,			-2.1850398632615189917,
      -2.0,			 2.1850398632615189917,
       2.0L,			-2.1850398632615189917L,
      -2.0L,			 2.1850398632615189917L,
       3,			-0.14254654307427780529,
      -3,			 0.14254654307427780529,
       3.0,			-0.14254654307427780529,
      -3.0,			 0.14254654307427780529,
       3.0L,			-0.14254654307427780529L,
      -3.0L,			 0.14254654307427780529L,
       0x8000000000000000,	 IGNORE,
      -0x8000000000000000,	 IGNORE,
       0x8000000000000000L,	 IGNORE,
      -0x8000000000000000L,	 IGNORE,
       1/2,			 0.54630248984379051327,
      -1/2,			-0.54630248984379051327,
       0.5,			 0.54630248984379051327,
      -0.5,			-0.54630248984379051327,
       0.5L,			 0.54630248984379051327L,
      -0.5L,			-0.54630248984379051327L,
       1/2 +3/2 *I,		 0.07932445480395667861 +0.9443729864226214591 *I,
      -1/2 -3/2 *I,		-0.07932445480395667861 -0.9443729864226214591 *I,
       0.5 +1.5 *I,		 0.07932445480395667861 +0.9443729864226214591 *I,
      -0.5 -1.5 *I,		-0.07932445480395667861 -0.9443729864226214591 *I,
       0.5L+1.5L*I,		 0.07932445480395667861L+0.9443729864226214591L*I,
      -0.5L-1.5L*I,		-0.07932445480395667861L-0.9443729864226214591L*I,
       invalid,			 NAN);
unary('asin',
       nan,			 nan,
       inf,			 complex( 1.5707963267948966,  inf),
      -inf,			 complex(-1.5707963267948966,  inf),
       nanL,			 nanL,
       infL,			 complex( 1.5707963267948966L, infL),
      -infL,			 complex(-1.5707963267948966L, infL),
       null,			 0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 1.5707963267948966193 +1.3169578969248167086 *I,
      -2,			-1.5707963267948966193 +1.3169578969248167086 *I,
       2.0,			 1.5707963267948966193 +1.3169578969248167086 *I,
      -2.0,			-1.5707963267948966193 +1.3169578969248167086 *I,
       2.0L,			 1.5707963267948966193L+1.3169578969248167086L*I,
      -2.0L,			-1.5707963267948966193L+1.3169578969248167086L*I,
       3,			 1.5707963267948966193 +1.7627471740390860505 *I,
      -3,			-1.5707963267948966193 +1.7627471740390860505 *I,
       3.0,			 1.5707963267948966193 +1.7627471740390860505 *I,
      -3.0,			-1.5707963267948966193 +1.7627471740390860505 *I,
       3.0L,			 1.5707963267948966193L+1.7627471740390860505L*I,
      -3.0L,			-1.5707963267948966193L+1.7627471740390860505L*I,
       0x8000000000000000,	 complex(0.0, inf),
      -0x8000000000000000,	 complex(0.0, inf),
       0x8000000000000000L,	 1.5707963267948966L   +44.361419555836498L*I,
      -0x8000000000000000L,	-1.5707963267948966L   +44.361419555836498L*I,
       1/2,			 0.52359877559829887307,
      -1/2,			-0.52359877559829887307,
       0.5,			 0.52359877559829887307,
      -0.5,			-0.52359877559829887307,
       0.5L,			 0.52359877559829887307L,
      -0.5L,			-0.52359877559829887307L,
       1/2 +3/2 *I,		 0.27348729014155685456 +1.2264568712514058847 *I,
      -1/2 -3/2 *I,		-0.27348729014155685456 -1.2264568712514058847 *I,
       0.5 +1.5 *I,		 0.27348729014155685456 +1.2264568712514058847 *I,
      -0.5 -1.5 *I,		-0.27348729014155685456 -1.2264568712514058847 *I,
       0.5L+1.5L*I,		 0.27348729014155685456L+1.2264568712514058847L*I,
      -0.5L-1.5L*I,		-0.27348729014155685456L-1.2264568712514058847L*I,
       invalid,			 NAN);
unary('acos',
       nan,			 nan,
       inf,			 complex(0.0,  -inf),
      -inf,			 complex(3.1415926535897931,  -inf),
       nanL,			 nanL,
       infL,			 complex(0.0L, -infL),
      -infL,			 complex(3.1415926535897931L, -infL),
       null,			 1.5707963267948966193,
       0,			 1.5707963267948966193,
       0.0,			 1.5707963267948966193,
       0.0L,			 1.5707963267948966193L,
       2,						-1.3169578969248167086 *I,
      -2,			 3.1415926535897932385	-1.3169578969248167086 *I,
       2.0,						-1.3169578969248167086 *I,
      -2.0,			 3.1415926535897932385	-1.3169578969248167086 *I,
       2.0L,						-1.3169578969248167086L*I,
      -2.0L,			 3.1415926535897932385L	-1.3169578969248167086L*I,
       3,						-1.7627471740390860505 *I,
      -3,			 3.1415926535897932385	-1.7627471740390860505 *I,
       3.0,						-1.7627471740390860505 *I,
      -3.0,			 3.1415926535897932385	-1.7627471740390860505 *I,
       3.0L,						-1.7627471740390860505L*I,
      -3.0L,			 3.1415926535897932385L	-1.7627471740390860505L*I,
       0x8000000000000000,	 complex(1.5707963267948966, -inf),
      -0x8000000000000000,	 complex(1.5707963267948966, -inf),
       0x80000000000000000L,				-47.13400827807628L*I,
      -0x80000000000000000L,	 3.1415926535897931L	-47.13400827807628L*I,/* FIXME correct? */
       1/2,			 1.0471975511965977462,
      -1/2,			 2.0943951023931954923,
       0.5,			 1.0471975511965977462,
      -0.5,			 2.0943951023931954923,
       0.5L,			 1.0471975511965977462L,
      -0.5L,			 2.0943951023931954923L,
       1/2 +3/2 *I,		 1.2973090366533397647 -1.2264568712514058847 *I,
      -1/2 -3/2 *I,		 1.8442836169364534738 +1.2264568712514058847 *I,
       0.5 +1.5 *I,		 1.2973090366533397647 -1.2264568712514058847 *I,
      -0.5 -1.5 *I,		 1.8442836169364534738 +1.2264568712514058847 *I,
       0.5L+1.5L*I,		 1.2973090366533397647L-1.2264568712514058847L*I,
      -0.5L-1.5L*I,		 1.8442836169364534738L+1.2264568712514058847L*I,
       invalid,			 NAN);
unary('atan',
       nan,			 nan,
       inf,			 1.5707963267948966,
      -inf,			-1.5707963267948966,
       nanL,			 nanL,
       infL,			 1.5707963267948966L,
      -infL,			-1.5707963267948966L,
       null,			 0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 1.1071487177940905031,
      -2,			-1.1071487177940905031,
       2.0,			 1.1071487177940905031,
      -2.0,			-1.1071487177940905031,
       2.0L,			 1.1071487177940905031,
      -2.0L,			-1.1071487177940905031,
       3,			 1.2490457723982544259,
      -3,			-1.2490457723982544259,
       3.0,			 1.2490457723982544259,
      -3.0,			-1.2490457723982544259,
       3.0L,			 1.2490457723982544259,
      -3.0L,			-1.2490457723982544259,
       0x8000000000000000,	 1.5707963267948966191,
      -0x8000000000000000,	-1.5707963267948966191,
       0x8000000000000000L,	 1.5707963267948966191,
      -0x8000000000000000L,	-1.5707963267948966191,
       1/2,			 0.46364760900080611615,
      -1/2,			-0.46364760900080611615,
       0.5,			 0.46364760900080611615,
      -0.5,			-0.46364760900080611615,
       0.5L,			 0.46364760900080611615L,
      -0.5L,			-0.46364760900080611615L,
       1/2 +3/2 *I,		 1.2767950250211128437 +0.641237339365384184 *I,
      -1/2 -3/2 *I,		-1.2767950250211128437 -0.641237339365384184 *I,
       0.5 +1.5 *I,		 1.2767950250211128437 +0.641237339365384184 *I,
      -0.5 -1.5 *I,		-1.2767950250211128437 -0.641237339365384184 *I,
       0.5L+1.5L*I,		 1.2767950250211128437L+0.641237339365384184L*I,
      -0.5L-1.5L*I,		-1.2767950250211128437L-0.641237339365384184L*I,
       invalid,			 NAN);
unary('sinh',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 3.6268604078470187677,
      -2,			-3.6268604078470187677,
       2.0,			 3.6268604078470187677,
      -2.0,			-3.6268604078470187677,
       2.0L,			 3.6268604078470187677L,
      -2.0L,			-3.6268604078470187677L,
       3,			 10.017874927409901899,
      -3,			-10.017874927409901899,
       3.0,			 10.017874927409901899,
      -3.0,			-10.017874927409901899,
       3.0L,			 10.017874927409901899L,
      -3.0L,			-10.017874927409901899L,
       0x8000000000000000,	 inf,
      -0x8000000000000000,	-inf,
       0x8000000000000000L,	 infL,
      -0x8000000000000000L,	-infL,
       1/2,			 0.52109530549374736164,
      -1/2,			-0.52109530549374736164,
       0.5,			 0.52109530549374736164,
      -0.5,			-0.52109530549374736164,
       0.5L,			 0.52109530549374736164L,
      -0.5L,			-0.52109530549374736164L,
       1/2 +3/2 *I,		 0.036860823712804463273 +1.1248012470579227492 *I,
      -1/2 -3/2 *I,		-0.036860823712804463273 -1.1248012470579227492 *I,
       0.5 +1.5 *I,		 0.036860823712804463273 +1.1248012470579227492 *I,
      -0.5 -1.5 *I,		-0.036860823712804463273 -1.1248012470579227492 *I,
       0.5L+1.5L*I,		 0.036860823712804463273L+1.1248012470579227492L*I,
      -0.5L-1.5L*I,		-0.036860823712804463273L-1.1248012470579227492L*I,
       invalid,			 NAN);
unary('cosh',
       nan,			 nan,
       inf,			 inf,
      -inf,			 inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			 infL,
       null,			 1,
       0,			 1.0,
       0.0,			 1.0,
       0.0L,			 1.0L,
       2,			 3.7621956910836314597,
      -2,			 3.7621956910836314597,
       2.0,			 3.7621956910836314597,
      -2.0,			 3.7621956910836314597,
       2.0L,			 3.7621956910836314597L,
      -2.0L,			 3.7621956910836314597L,
       3,			 10.067661995777765842,
      -3,			 10.067661995777765842,
       3.0,			 10.067661995777765842,
      -3.0,			 10.067661995777765842,
       3.0L,			 10.067661995777765842L,
      -3.0L,			 10.067661995777765842L,
       0x8000000000000000,	 inf,
      -0x8000000000000000,	 inf,
       0x8000000000000000L,	 infL,
      -0x8000000000000000L,	 infL,
       1/2,			 1.1276259652063807853,
      -1/2,			 1.1276259652063807853,
       0.5,			 1.1276259652063807853,
      -0.5,			 1.1276259652063807853,
       0.5L,			 1.1276259652063807853L,
      -0.5L,			 1.1276259652063807853L,
       1/2 +3/2 *I,		 0.079765105306541902544 +0.5197899547729211758 *I,
      -1/2 -3/2 *I,		 0.079765105306541902544 +0.5197899547729211758 *I,
       0.5 +1.5 *I,		 0.079765105306541902544 +0.5197899547729211758 *I,
      -0.5 -1.5 *I,		 0.079765105306541902544 +0.5197899547729211758 *I,
       0.5L+1.5L*I,		 0.079765105306541902544L+0.5197899547729211758L*I,
      -0.5L-1.5L*I,		 0.079765105306541902544L+0.5197899547729211758L*I,
       invalid,			 NAN);
unary('tanh',
       nan,			 nan,
       inf,			 1.0,
      -inf,			-1.0,
       nanL,			 nanL,
       infL,			 1.0L,
      -infL,			-1.0L,
       null,			 0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 0.96402758007581688395,
      -2,			-0.96402758007581688395,
       2.0,			 0.96402758007581688395,
      -2.0,			-0.96402758007581688395,
       2.0L,			 0.96402758007581688395L,
      -2.0L,			-0.96402758007581688395L,
       3,			 0.9950547536867304513,
      -3,			-0.9950547536867304513,
       3.0,			 0.9950547536867304513,
      -3.0,			-0.9950547536867304513,
       3.0L,			 0.9950547536867304513L,
      -3.0L,			-0.9950547536867304513L,
       0x8000000000000000,	 1.0,
      -0x8000000000000000,	-1.0,
       1/2,			 0.46211715726000975851,
      -1/2,			-0.46211715726000975851,
       0.5,			 0.46211715726000975851,
      -0.5,			-0.46211715726000975851,
       0.5L,			 0.46211715726000975851L,
      -0.5L,			-0.46211715726000975851L,
       1/2 +3/2 *I,		 2.124799127742996671 +0.2551492218136516925 *I,
      -1/2 -3/2 *I,		-2.124799127742996671 -0.2551492218136516925 *I,
       0.5 +1.5 *I,		 2.124799127742996671 +0.2551492218136516925 *I,
      -0.5 -1.5 *I,		-2.124799127742996671 -0.2551492218136516925 *I,
       0.5L+1.5L*I,		 2.124799127742996671L+0.2551492218136516925L*I,
      -0.5L-1.5L*I,		-2.124799127742996671L-0.2551492218136516925L*I,
       invalid,			 NAN);
unary('asinh',
       nan,			 nan,
       inf,			 inf,
      -inf,			-inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			-infL,
       null,			 0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 1.4436354751788103426,
      -2,			-1.4436354751788103426,
       2.0,			 1.4436354751788103426,
      -2.0,			-1.4436354751788103426,
       2.0L,			 1.4436354751788103426L,
      -2.0L,			-1.4436354751788103426L,
       3,			 1.8184464592320668235,
      -3,			-1.8184464592320668235,
       3.0,			 1.8184464592320668235,
      -3.0,			-1.8184464592320668235,
       3.0L,			 1.8184464592320668235L,
      -3.0L,			-1.8184464592320668235L,
       0x8000000000000000,	 44.361419555836499803,
      -0x8000000000000000,	-44.361419555836499803,
       0x8000000000000000L,	 44.361419555836499803L,
      -0x8000000000000000L,	-44.361419555836499803L,
       1/2,			 0.4812118250596034475,
      -1/2,			-0.4812118250596034475,
       0.5,			 0.4812118250596034475,
      -0.5,			-0.4812118250596034475,
       0.5L,			 0.4812118250596034475L,
      -0.5L,			-0.4812118250596034475L,
       1/2 +3/2 *I,		 1.06931104315811054 +1.1711572594583724774 *I,
      -1/2 -3/2 *I,		-1.06931104315811054 -1.1711572594583724774 *I,
       0.5 +1.5 *I,		 1.06931104315811054 +1.1711572594583724774 *I,
      -0.5 -1.5 *I,		-1.06931104315811054 -1.1711572594583724774 *I,
       0.5L+1.5L*I,		 1.06931104315811054L+1.1711572594583724774L*I,
      -0.5L-1.5L*I,		-1.06931104315811054L-1.1711572594583724774L*I,
       invalid,			 NAN);
unary('acosh',
       nan,			 nan,
       inf,			 inf,
      -inf,			 complex(inf,  3.1415926535897931),
       nanL,			 nanL,
       infL,			 infL,
      -infL,			 complex(infL, 3.1415926535897931L),
       null,						1.570796326794896619 *I,
       0,						1.570796326794896619 *I,
       0.0,						1.570796326794896619 *I,
       0.0L,						1.570796326794896619 *I,
       2,			 1.3169578969248167087,
      -2,			 1.3169578969248167086 +3.1415926535897932385 *I,
       2.0,			 1.3169578969248167087,
      -2.0,			 1.3169578969248167086 +3.1415926535897932385 *I,
       2.0L,			 1.3169578969248167087,
      -2.0L,			 1.3169578969248167086L+3.1415926535897932385L*I,
       3,			 1.7627471740390860507,
      -3,			 1.7627471740390860505 +3.1415926535897932385 *I,
       3.0,			 1.7627471740390860507,
      -3.0,			 1.7627471740390860505 +3.1415926535897932385 *I,
       3.0L,			 1.7627471740390860507L,
      -3.0L,			 1.7627471740390860505L+3.1415926535897932385L*I,
       0x8000000000000000,	 44.361419555836499817,
      -0x8000000000000000,	 44.361419555836499817 +3.1415926535897932374 *I,
       0x8000000000000000L,	 44.361419555836499817L,
      -0x8000000000000000L,	 44.361419555836499817L+3.1415926535897932374L*I,
       1/2,						1.0471975511965977461 *I,
      -1/2,						2.0943951023931954923 *I,
       0.5,						1.0471975511965977461 *I,
      -0.5,						2.0943951023931954923 *I,
       0.5L,						1.0471975511965977461L*I,
      -0.5L,						2.0943951023931954923 *I,
       1/2 +3/2 *I,		 1.2264568712514058847 +1.2973090366533397647 *I,
      -1/2 -3/2 *I,		 1.2264568712514058847 -1.8442836169364534739 *I,
       0.5 +1.5 *I,		 1.2264568712514058847 +1.2973090366533397647 *I,
      -0.5 -1.5 *I,		 1.2264568712514058847 -1.8442836169364534739 *I,
       0.5L+1.5L*I,		 1.2264568712514058847L+1.2973090366533397647L*I,
      -0.5L-1.5L*I,		 1.2264568712514058847L-1.8442836169364534739L*I,
       invalid,			 NAN);
unary('atanh',
       nan,			 nan,
       inf,			 1.5707963267948966187 *I,
      -inf,			 1.5707963267948966187 *I,
       nanL,			 nanL,
       infL,			 1.5707963267948966187L*I,
      -infL,			 1.5707963267948966187L*I,
       null,			 0,
       0,			 0.0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 0.5493061443340548457 +1.5707963267948966193 *I,
      -2,			-0.5493061443340548457 +1.5707963267948966193 *I,
       2.0,			 0.5493061443340548457 +1.5707963267948966193 *I,
      -2.0,			-0.5493061443340548457 +1.5707963267948966193 *I,
       2.0L,			 0.5493061443340548457L+1.5707963267948966193L*I,
      -2.0L,			-0.5493061443340548457L+1.5707963267948966193L*I,
       3,			 0.3465735902799726547 +1.5707963267948966193 *I,
      -3,			-0.3465735902799726547 +1.5707963267948966193 *I,
       3.0,			 0.3465735902799726547 +1.5707963267948966193 *I,
      -3.0,			-0.3465735902799726547 +1.5707963267948966193 *I,
       3.0L,			 0.3465735902799726547L+1.5707963267948966193L*I,
      -3.0L,			-0.3465735902799726547L+1.5707963267948966193L*I,
       0x8000000000000000,	 1.084202172485504434e-19+1.5707963267948966187*I,
      -0x8000000000000000,	-1.084202172485504434e-19+1.5707963267948966187*I,
       1/2,			 0.5493061443340548457,
      -1/2,			-0.5493061443340548457,
       0.5,			 0.5493061443340548457,
      -0.5,			-0.5493061443340548457,
       0.5L,			 0.5493061443340548457L,
      -0.5L,			-0.5493061443340548457L,
       1/2 +3/2 *I,		 0.14694666622552975204 +1.0172219678978513677 *I,
      -1/2 -3/2 *I,		-0.14694666622552975204 -1.0172219678978513677 *I,
       0.5 +1.5 *I,		 0.14694666622552975204 +1.0172219678978513677 *I,
      -0.5 -1.5 *I,		-0.14694666622552975204 -1.0172219678978513677 *I,
       0.5L+1.5L*I,		 0.14694666622552975204L+1.0172219678978513677L*I,
      -0.5L-1.5L*I,		-0.14694666622552975204L-1.0172219678978513677L*I,
       invalid,			 NAN);
unary('proj',
       nan,			 nan,
       inf,			 inf,
      -inf,			 inf,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			 infL,
       null,			 0,
       0,			 0,
       0.0,			 0.0,
       0.0L,			 0.0L,
       2,			 2,
      -2,			-2,
       2.0,			 2.0,
      -2.0,			-2.0,
       2.0L,			 2.0L,
      -2.0L,			-2.0L,
       0x8000000000000000,	 0x8000000000000000,
      -0x8000000000000000,	-0x8000000000000000,
       1/2,			 1/2,
      -1/2,			-1/2,
       0.5,			 0.5,
      -0.5,			-0.5,
       0.5L,			 0.5L,
      -0.5L,			-0.5L,
       1/2 +3/2 *I,		 1/2 +3/2 *I,
      -1/2 -3/2 *I,		-1/2 -3/2 *I,
       0.5 +1.5 *I,		 0.5 +1.5 *I,
      -0.5 -1.5 *I,		-0.5 -1.5 *I,
       0.5L+1.5L*I,		 0.5L+1.5L*I,
      -0.5L-1.5L*I,		-0.5L-1.5L*I,
       invalid,			 NAN);
unary('exp',
       nan,			 nan,
       inf,			 inf,
      -inf,			 0.0,
       nanL,			 nanL,
       infL,			 infL,
      -infL,			 0.0L,
       null,			 1.0,
       0,			 1.0,
       0.0,			 1.0,
       0.0L,			 1.0L,
       2,			 7.3890560989306502274,
      -2,			 0.1353352832366126919,
       2.0,			 7.3890560989306502274,
      -2.0,			 0.1353352832366126919,
       2.0L,			 7.3890560989306502274L,
      -2.0L,			 0.1353352832366126919L,
       3,			 20.085536923187667742,
      -3,			 0.04978706836786394298,
       3.0,			 20.085536923187667742,
      -3.0,			 0.04978706836786394298,
       3.0L,			 20.085536923187667742L,
      -3.0L,			 0.04978706836786394298L,
       0x8000000000000000,	 inf,
      -0x8000000000000000,	 0.0,
       0x8000000000000000L,	 infL,
      -0x8000000000000000L,	 0.0L,
       1/2,			 1.6487212707001281469,
      -1/2,			 0.6065306597126334236,
       0.5,			 1.6487212707001281469,
      -0.5,			 0.6065306597126334236,
       0.5L,			 1.6487212707001281469L,
      -0.5L,			 0.6065306597126334236L,
       1/2 +3/2 *I,		 0.11662592901934636582  +1.6445912018308439249 *I,
      -1/2 -3/2 *I,		 0.042904281593737439274 -0.6050112922850015734 *I,
       0.5 +1.5 *I,		 0.11662592901934636582  +1.6445912018308439249 *I,
      -0.5 -1.5 *I,		 0.042904281593737439274 -0.6050112922850015734 *I,
       0.5L+1.5L*I,		 0.11662592901934636582L +1.6445912018308439249L*I,
      -0.5L-1.5L*I,		 0.042904281593737439274L-0.6050112922850015734L*I,
       invalid,			 NAN);
unary('log',
       nan,			 nan,
       inf,			 inf,
      -inf,			 complex(inf,  3.1415926535897931),
       nanL,			 nanL,
       infL,			 infL,
      -infL,			 complex(infL, 3.1415926535897931L),
       null,			-inf,
       0,			-inf,
       0.0,			-inf,
       0.0L,			-infL,
       2,			 0.69314718055994530943,
      -2,			 0.69314718055994530943 +3.1415926535897932385 *I,
       2.0,			 0.69314718055994530943,
      -2.0,			 0.69314718055994530943 +3.1415926535897932385 *I,
       2.0L,			 0.69314718055994530943L,
      -2.0L,			 0.69314718055994530943L+3.1415926535897932385L*I,
       3,			 1.0986122886681096914,
      -3,			 1.0986122886681096914 +3.1415926535897932385 *I,
       3.0,			 1.0986122886681096914,
      -3.0,			 1.0986122886681096914 +3.1415926535897932385 *I,
       3.0L,			 1.0986122886681096914L,
      -3.0L,			 1.0986122886681096914L+3.1415926535897932385L*I,
       0x8000000000000000,	 43.668272375276554493,
      -0x8000000000000000,	 43.668272375276554493  +3.1415926535897932385 *I,
       0x8000000000000000L,	 43.668272375276554493L,
      -0x8000000000000000L,	 43.668272375276554493L +3.1415926535897932385L*I,
       1/2,			-0.69314718055994530943,
      -1/2,			-0.69314718055994530943 +3.1415926535897932385 *I,
       0.5,			-0.69314718055994530943,
      -0.5,			-0.69314718055994530943 +3.1415926535897932385 *I,
       0.5L,			-0.69314718055994530943L,
      -0.5L,			-0.69314718055994530943L+3.1415926535897932385L*I,
       1/2 +3/2 *I,		 0.4581453659370775326 +1.2490457723982544259 *I,
      -1/2 -3/2 *I,		 0.4581453659370775326 -1.8925468811915388127 *I,
       0.5 +1.5 *I,		 0.4581453659370775326 +1.2490457723982544259 *I,
      -0.5 -1.5 *I,		 0.4581453659370775326 -1.8925468811915388127 *I,
       0.5L+1.5L*I,		 0.4581453659370775326 +1.2490457723982544259L*I,
      -0.5L-1.5L*I,		 0.4581453659370775326L-1.8925468811915388127L*I,
       invalid,			 NAN);
unary('log2',
       nan,			 nan,
       inf,			 inf,
      -inf,			 complex(inf,  4.5323601418271933),
       nanL,			 nanL,
       infL,			 infL,
      -infL,			 complex(infL, 4.5323601418271933L),
       null,			-inf,
       0,			-inf,
       0.0,			-inf,
       0.0L,			-infL,
       2,			 1.0,
      -2,			 1.0 +4.5323601418271942 *I,
       2.0,			 1.0,
      -2.0,			 1.0 +4.5323601418271942 *I,
       2.0L,			 1.0L,
      -2.0L,			 1.0L+4.5323601418271942L*I,
       3,			 1.5849625007211561,
      -3,			 1.5849625007211561 +4.5323601418271942 *I,
       3.0,			 1.5849625007211561,
      -3.0,			 1.5849625007211561 +4.5323601418271942 *I,
       3.0L,			 1.5849625007211561L,
      -3.0L,			 1.5849625007211561L+4.5323601418271942L*I,
       0x8000000000000000,	 63.0,
      -0x8000000000000000,	 63.0 +4.5323601418271942 *I,
       0x8000000000000000L,	 63.0L,
      -0x8000000000000000L,	 63.0L+4.5323601418271942L*I,
       1/2,			-1.0,
      -1/2,			-1.0 +4.5323601418271942 *I,
       0.5,			-1.0,
      -0.5,			-1.0 +4.5323601418271942 *I,
       0.5L,			-1.0L,
      -0.5L,			-1.0L+4.5323601418271942L*I,
       1/2 +3/2 *I,		 0.66096404744368131 +1.8019921416822866 *I,
      -1/2 -3/2 *I,		 0.66096404744368131 -2.7303680001449075 *I,
       0.5 +1.5 *I,		 0.66096404744368131 +1.8019921416822866 *I,
      -0.5 -1.5 *I,		 0.66096404744368131 -2.7303680001449075 *I,
       0.5L+1.5L*I,		 0.66096404744368131L+1.8019921416822866L*I,
      -0.5L-1.5L*I,		 0.66096404744368131L-2.7303680001449075L*I,
       invalid,			 NAN);
unary('log10',
       nan,			 nan,
       inf,			 inf,
      -inf,			 complex(inf,  1.3643763538418412),
       nanL,			 nanL,
       infL,			 infL,
      -infL,			 complex(infL, 1.3643763538418412L),
       null,			-inf,
       0,			-inf,
       0.0,			-inf,
       0.0L,			-infL,
       2,			 0.3010299956639812,
      -2,			 0.3010299956639812 +1.3643763538418412 *I,
       2.0,			 0.3010299956639812,
      -2.0,			 0.3010299956639812 +1.3643763538418412 *I,
       2.0L,			 0.3010299956639812L,
      -2.0L,			 0.3010299956639812L+1.3643763538418412L*I,
       3,			 0.47712125471966244,
      -3,			 0.47712125471966244 +1.3643763538418412 *I,
       3.0,			 0.47712125471966244,
      -3.0,			 0.47712125471966244 +1.3643763538418412 *I,
       3.0L,			 0.47712125471966244L,
      -3.0L,			 0.47712125471966244L+1.3643763538418412L*I,
       0x8000000000000000,	 18.964889726830815,
      -0x8000000000000000,	 18.964889726830815 +1.3643763538418412 *I,
       0x8000000000000000L,	 18.964889726830815L,
      -0x8000000000000000L,	 18.964889726830815L+1.3643763538418412L*I,
       1/2,			-0.3010299956639812,
      -1/2,			-0.3010299956639812 +1.3643763538418412 *I,
       0.5,			-0.3010299956639812,
      -0.5,			-0.3010299956639812 +1.3643763538418412 *I,
       0.5L,			-0.3010299956639812,
      -0.5L,			-0.3010299956639812L+1.3643763538418412L*I,
       1/2 +3/2 *I,		 0.19897000433601883 +0.54245368659714688 *I,
      -1/2 -3/2 *I,		 0.19897000433601883 -0.82192266724469443 *I,
       0.5 +1.5 *I,		 0.19897000433601883 +0.54245368659714688 *I,
      -0.5 -1.5 *I,		 0.19897000433601883 -0.82192266724469443 *I,
       0.5L+1.5L*I,		 0.19897000433601883L+0.54245368659714688L*I,
      -0.5L-1.5L*I,		 0.19897000433601883L-0.82192266724469443L*I,
       invalid,			 NAN);
binary('&&',			 nan,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 inf,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 nanL,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 infL,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 null,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('&&',			 0.0,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('&&',			 0.0L,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('&&',			 2,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 2.0,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 2.0L,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 0x8000000000000000,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 1/2,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 1/2+3/2*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 0.5+1.5*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 0.5L+1.5L*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('&&',			 invalid,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 nan,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 inf,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 nanL,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 infL,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 null,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 0,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 0.0,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 0.0L,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 2,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 2.0,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 2.0L,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 0x8000000000000000,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 1/2,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 1/2+3/2*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 0.5+1.5*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 0.5L+1.5L*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('||',			 invalid,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('<',			 nan,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 inf,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			-inf,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 nanL,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 infL,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			-infL,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 null,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 0,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 0.0,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 0.0L,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 2,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			-2,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 2.0,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			-2.0,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 2.0L,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			-2.0L,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 0x8000000000000000,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			-0x8000000000000000,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 1/2,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			-1/2,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 1/2+3/2*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 0.5+1.5*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 0.5L+1.5L*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<',			 invalid,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 nan,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 inf,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			-inf,
	nan,			 0,
	inf,			 1,
       -inf,			 1,
	nanL,			 0,
	infL,			 1,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 nanL,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 infL,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			-infL,
	nan,			 0,
	inf,			 1,
       -inf,			 1,
	nanL,			 0,
	infL,			 1,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 null,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 0,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 0.0,
	nan,			 0,
	inf,			 1,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 0.0L,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 2,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			-2,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 2.0,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			-2.0,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 2.0L,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			-2.0L,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 0x8000000000000000,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			-0x8000000000000000,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 1/2,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			-1/2,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 0,
	2.0,			 1,
       -2.0,			 0,
	2.0L,			 1,
       -2.0L,			 0,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 1/2+3/2*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 0.5+1.5*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 0.5L+1.5L*I,
	nan,			 NARN,
	inf,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<=',			 invalid,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('==',			 nan,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 inf,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			-inf,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 nanL,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 infL,
	nan,			 0,
	inf,			 1,
       -inf,			 0,
	nanL,			 0,
	infL,			 1,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			-infL,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 null,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 0,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 0.0,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 0.0L,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 2,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 2.0,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 2.0L,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 0x8000000000000000,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 1,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 1/2,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 1,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 0);
binary('==',			 1/2+3/2*I,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 1,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 1,
       -0.5 -1.5 *I,		 0,
	0.5L+1.5L*I,		 1,
       -0.5L-1.5L*I,		 0,
        invalid,		 0);
binary('==',			-1/2-3/2*I,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 1,
	0.5 +1.5 *I,		 0,
       -0.5 -1.5 *I,		 1,
	0.5L+1.5L*I,		 0,
       -0.5L-1.5L*I,		 1,
        invalid,		 0);
binary('==',			 0.5+1.5*I,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 1,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 1,
       -0.5 -1.5 *I,		 0,
	0.5L+1.5L*I,		 1,
       -0.5L-1.5L*I,		 0,
        invalid,		 0);
binary('==',			-0.5-1.5*I,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 1,
	0.5 +1.5 *I,		 0,
       -0.5 -1.5 *I,		 1,
	0.5L+1.5L*I,		 0,
       -0.5L-1.5L*I,		 1,
        invalid,		 0);
binary('==',			 0.5L+1.5L*I,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 1,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 1,
       -0.5 -1.5 *I,		 0,
	0.5L+1.5L*I,		 1,
       -0.5L-1.5L*I,		 0,
        invalid,		 0);
binary('==',			-0.5L-1.5L*I,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 1,
	0.5 +1.5 *I,		 0,
       -0.5 -1.5 *I,		 1,
	0.5L+1.5L*I,		 0,
       -0.5L-1.5L*I,		 1,
        invalid,		 0);
binary('==',			 invalid,
	nan,			 0,
	inf,			 0,
	nanL,			 0,
	infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	0x8000000000000000,	 0,
	1/2,			 0,
	1/2 +3/2 *I,		 0,
	0.5 +1.5 *I,		 0,
	0.5L+1.5L*I,		 0,
        invalid,		 1);
binary('>=',			 nan,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 inf,
	nan,			 0,
	inf,			 1,
       -inf,			 1,
	nanL,			 0,
	infL,			 1,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			-inf,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 nanL,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 infL,
	nan,			 0,
	inf,			 1,
       -inf,			 1,
	nanL,			 0,
	infL,			 1,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			-infL,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 null,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 0,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 0.0,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 0.0L,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 2,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			-2,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 2.0,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			-2.0,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 2.0L,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			-2.0L,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 0x8000000000000000,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			-0x8000000000000000,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 1/2,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			-1/2,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 1/2+3/2*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 0.5+1.5*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 0.5L+1.5L*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>=',			 invalid,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 nan,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 inf,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			-inf,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 nanL,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 infL,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 1,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			-infL,
	nan,			 0,
	inf,			 0,
       -inf,			 0,
	nanL,			 0,
	infL,			 0,
       -infL,			 0,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 null,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 2,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			-2,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 2.0,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			-2.0,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 2.0L,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			-2.0L,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 0x8000000000000000,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			-0x8000000000000000,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 1/2,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			-1/2,
	nan,			 0,
	inf,			 0,
       -inf,			 1,
	nanL,			 0,
	infL,			 0,
       -infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 1,
	2.0,			 0,
       -2.0,			 1,
	2.0L,			 0,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 1/2+3/2*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 0.5+1.5*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 0.5L+1.5L*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>',			 invalid,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('!=',			 nan,
	nan,			 1,
	inf,			 1,
       -inf,			 1,
	nanL,			 1,
	infL,			 1,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 inf,
	nan,			 1,
	inf,			 0,
       -inf,			 1,
	nanL,			 1,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			-inf,
	nan,			 1,
	inf,			 1,
       -inf,			 0,
	nanL,			 1,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 nanL,
	nan,			 1,
	inf,			 1,
       -inf,			 1,
	nanL,			 1,
	infL,			 1,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 infL,
	nan,			 1,
	inf,			 0,
       -inf,			 1,
	nanL,			 1,
	infL,			 0,
       -infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			-infL,
	nan,			 1,
	inf,			 1,
       -inf,			 0,
	nanL,			 1,
	infL,			 1,
       -infL,			 0,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 null,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 0,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 0.0,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 0.0L,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 2,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 2.0,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 2.0L,
	nan,			 1,
	inf,			 1,
	null,			 1,
	nanL,			 1,
	infL,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 0,
	2.0,			 0,
	2.0L,			 0,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 0x8000000000000000,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
       -2,			 1,
	2.0,			 1,
       -2.0,			 1,
	2.0L,			 1,
       -2.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 1,
	1/2,			 1,
       -1/2,			 1,
	1/2 +3/2 *I,		 1,
       -1/2 -3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
       -0.5 -1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
       -0.5L-1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 1/2,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	2,			 1,
	2.0,			 1,
	2.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 0,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
        invalid,		 1);
binary('!=',			 1/2+3/2*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 1,
	0.5 +1.5 *I,		 0,
       -0.5 -1.5 *I,		 1,
	0.5L+1.5L*I,		 0,
       -0.5L-1.5L*I,		 1,
        invalid,		 1);
binary('!=',			-1/2-3/2*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 1,
       -0.5 -1.5 *I,		 0,
	0.5L+1.5L*I,		 1,
       -0.5L-1.5L*I,		 0,
        invalid,		 1);
binary('!=',			 0.5+1.5*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 1,
	0.5 +1.5 *I,		 0,
       -0.5 -1.5 *I,		 1,
	0.5L+1.5L*I,		 0,
       -0.5L-1.5L*I,		 1,
        invalid,		 1);
binary('!=',			-0.5-1.5*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 1,
       -0.5 -1.5 *I,		 0,
	0.5L+1.5L*I,		 1,
       -0.5L-1.5L*I,		 0,
        invalid,		 1);
binary('!=',			 0.5L+1.5L*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 1,
	0.5 +1.5 *I,		 0,
       -0.5 -1.5 *I,		 1,
	0.5L+1.5L*I,		 0,
       -0.5L-1.5L*I,		 1,
        invalid,		 1);
binary('!=',			-0.5L-1.5L*I,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 1,
       -0.5 -1.5 *I,		 0,
	0.5L+1.5L*I,		 1,
       -0.5L-1.5L*I,		 0,
        invalid,		 1);
binary('!=',			 invalid,
	nan,			 1,
	inf,			 1,
	nanL,			 1,
	infL,			 1,
	null,			 1,
	0,			 1,
	0.0,			 1,
	0.0L,			 1,
	0x8000000000000000,	 1,
	1/2,			 1,
	1/2 +3/2 *I,		 1,
	0.5 +1.5 *I,		 1,
	0.5L+1.5L*I,		 1,
       -0.5L-1.5L*I,		 1,
        invalid,		 0);
binary('&',			 null,
	null,			 0,
	0,			 0,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 0,
       -2,			 0,
	2.0,			 NAI,
	2.0L,			 NAI,
        3,			 0,
       -3,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			 0,
	null,			 0,
	0,			 0,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 0,
       -2,			 0,
	2.0,			 NAI,
	2.0L,			 NAI,
        3,			 0,
       -3,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			 0.0,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			 0.0L,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			 2,
	null,			 0,
	0,			 0,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 2,
       -2,			 2,
	2.0,			 NAI,
	2.0L,			 NAI,
        3,			 2,
       -3,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			-2,
	null,			 0,
	0,			 0,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 2,
       -2,			-2,
	2.0,			 NAI,
	2.0L,			 NAI,
        3,			 2,
       -3,			-4,
	0x8000000000000000,	 0x8000000000000000,
       -0x8000000000000000,	-0x8000000000000000,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			 3,
	null,			 0,
	0,			 0,
	2,			 2,
       -2,			 2,
        3,			 3,
       -3,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0);
binary('&',			-3,
	null,			 0,
	0,			 0,
	2,			 0,
       -2,			-4,
        3,			 1,
       -3,			-3,
	0x8000000000000000,	 0x8000000000000000,
       -0x8000000000000000,	-0x8000000000000000);
binary('&',			 0x8000000000000000,
	null,			 0,
	0,			 0,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 0,
       -2,			 0x8000000000000000,
	2.0,			 NAI,
	2.0L,			 NAI,
	3,			 0,
       -3,			 0x8000000000000000,
	0x8000000000000000,	 0x8000000000000000,
       -0x8000000000000000,	 0x8000000000000000,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			-0x8000000000000000,
	null,			 0,
	0,			 0,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 0,
       -2,			-0x8000000000000000,
	2.0,			 NAI,
	2.0L,			 NAI,
	3,			 0,
       -3,			-0x8000000000000000,
	0x8000000000000000,	 0x8000000000000000,
       -0x8000000000000000,	-0x8000000000000000,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			 1/2,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			 1/2+3/2*I,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			 0.5+1.5*I,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			 0.5L+1.5L*I,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('&',			 invalid,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 nan,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 inf,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 null,
	null,			 0,
	0,			 0,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 2,
       -2,			-2,
	3,			 3,
       -3,			-3,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 0x8000000000000000,
       -0x8000000000000000,	-0x8000000000000000,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 0,
	null,			 0,
	0,			 0,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 2,
       -2,			-2,
	3,			 3,
       -3,			-3,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 0x8000000000000000,
       -0x8000000000000000,	-0x8000000000000000,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 0.0,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 0.0L,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 2,
	null,			 2,
	0,			 2,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 2,
       -2,			-2,
	3,			 3,
       -3,			-1,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 0x8000000000000002,
       -0x8000000000000000,	-0x7ffffffffffffffe,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			-2,
	null,			-2,
	0,			-2,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			-2,
       -2,			-2,
	3,			-1,
       -3,			-1,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	-2,
       -0x8000000000000000,	-2,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 2.0,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 2.0L,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 3,
	null,			 3,
	0,			 3,
	2,			 3,
       -2,			-1,
	2,			 3,
       -3,			-1,
	0x8000000000000000,	 0x8000000000000003,
       -0x8000000000000000,	-0x7ffffffffffffffd);
binary('|',			-3,
	null,			-3,
	0,			-3,
	2,			-1,
       -2,			-1,
	3,			-1,
       -3,			-3,
	0x8000000000000000,	-3,
       -0x8000000000000000,	-3);
binary('|',			 0x8000000000000000,
	null,			 0x8000000000000000,
	0,			 0x8000000000000000,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 0x8000000000000002,
       -2,			-2,
	2.0,			 NAI,
	2.0L,			 NAI,
	3,			 0x8000000000000003,
       -3,			-3,
	0x8000000000000000,	 0x8000000000000000,
       -0x8000000000000000,	-0x8000000000000000,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			-0x8000000000000000,
	null,			-0x8000000000000000,
	0,			-0x8000000000000000,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			-0x7ffffffffffffffe,
       -2,			-2,
	2.0,			 NAI,
	2.0L,			 NAI,
	3,			-0x7ffffffffffffffd,
       -3,			-3,
	0x8000000000000000,	-0x8000000000000000,
       -0x8000000000000000,	-0x8000000000000000,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 1/2,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 0.5,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 0.5L,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 1/2+3/2*I,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 0.5+1.5*I,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 0.5L+1.5L*I,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('|',			 invalid,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 null,
	null,			 0,
	0,			 0,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 2,
       -2,			-2,
	2.0,			 NAI,
	2.0L,			 NAI,
	3,			 3,
       -3,			-3,
	0x8000000000000000,	 0x8000000000000000,
       -0x8000000000000000,	-0x8000000000000000,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 0,
	null,			 0,
	0,			 0,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 2,
       -2,			-2,
	2.0,			 NAI,
	2.0L,			 NAI,
	3,			 3,
       -3,			-3,
	0x8000000000000000,	 0x8000000000000000,
       -0x8000000000000000,	-0x8000000000000000,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 0.0,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 0.0L,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 2,
	null,			 2,
	0,			 2,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 0,
       -2,			-4,
	2.0,			 NAI,
	2.0L,			 NAI,
	3,			 1,
       -3,			-1,
	0x8000000000000000,	 0x8000000000000002,
       -0x8000000000000000,	-0x7ffffffffffffffe,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			-2,
	null,			-2,
	0,			-2,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			-4,
       -2,			 0,
	2.0,			 NAI,
	2.0L,			 NAI,
	3,			-3,
       -3,			 3,
	0x8000000000000000,	-0x8000000000000002,
       -0x8000000000000000,	 0x7ffffffffffffffe,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 2.0,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 2.0L,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 3,
	null,			 3,
	0,			 3,
	2,			 1,
       -2,			-3,
	3,			 0,
       -3,			-2,
	0x8000000000000000,	 0x8000000000000003,
       -0x8000000000000000,	-0x7ffffffffffffffd);
binary('^',			-3,
	null,			-3,
	0,			-3,
	2,			-1,
       -2,			 3,
	3,			-2,
       -3,			 0,
	0x8000000000000000,	-0x8000000000000003,
       -0x8000000000000000,	 0x7ffffffffffffffd);
binary('^',			 0x8000000000000000,
	null,			 0x8000000000000000,
	0,			 0x8000000000000000,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 0x8000000000000002,
       -2,			-0x8000000000000002,
	3,			 0x8000000000000003,
       -3,			-0x8000000000000003,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 0,
       -0x8000000000000000,	-0x10000000000000000,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			-0x8000000000000000,
	null,			-0x8000000000000000,
	0,			-0x8000000000000000,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			-0x7ffffffffffffffe,
       -2,			 0x7ffffffffffffffe,
	3,			-0x7ffffffffffffffd,
       -3,			 0x7ffffffffffffffd,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	-0x10000000000000000,
       -0x8000000000000000,	 0,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 1/2,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 0.5,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 0.5L,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 1/2+3/2*I,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 0.5+1.5*I,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 0.5L+1.5L*I,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('^',			 invalid,
	null,			 NAI,
	0,			 NAI,
	0.0,			 NAI,
	0.0L,			 NAI,
	2,			 NAI,
	2.0,			 NAI,
	2.0L,			 NAI,
	0x8000000000000000,	 NAI,
	1/2,			 NAI,
	1/2 +3/2 *I,		 NAI,
	0.5 +1.5 *I,		 NAI,
	0.5L+1.5L*I,		 NAI,
        invalid,		 NAI);
binary('+',			 nan,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 nan,
	2.0,			 nanL,
	2.0L,			 nanL,
	0x8000000000000000,	 nan,
	1/2,			 nan,
	0.5,			 nan,
	0.5L,			 nanL,
	1/2 +3/2 *I,		 complex(nan,  1.5),
	0.5 +1.5 *I,		 complex(nan,  1.5),
	0.5L+1.5L*I,		 complex(nanL, 1.5L),
        invalid,		 NAN);
binary('+',			 inf,
	nan,			 nan,
	inf,			 inf,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 nanL,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 infL,
	2,			 inf,
	2.0,			 inf,
	2.0L,			 infL,
	0x8000000000000000,	 inf,
	1/2,			 inf,
	0.5,			 inf,
	0.5L,			 inf,
	1/2 +3/2 *I,		 inf +1.5 *I,
	0.5 +1.5 *I,		 inf +1.5 *I,
	0.5L+1.5L*I,		 infL+1.5L*I,
        invalid,		 NAN);
binary('+',			-inf,
	nan,			 nan,
	inf,			 nan,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			-infL,
	null,			-inf,
	0,			-inf,
	0.0,			-inf,
	0.0L,			-infL,
	2,			-inf,
	2.0,			-inf,
	2.0L,			-infL,
	0x8000000000000000,	-inf,
	1/2,			-inf,
	0.5,			-inf,
	0.5L,			-inf,
	1/2 +3/2 *I,		-inf +1.5 *I,
	0.5 +1.5 *I,		-inf +1.5 *I,
	0.5L+1.5L*I,		-infL+1.5L*I,
        invalid,		 NAN);
binary('+',			 nanL,
	nan,			 nanL,
	inf,			 nanL,
       -inf,			 nanL,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 nanL,
	2.0,			 nanL,
	2.0L,			 nanL,
	0x8000000000000000,	 nanL,
	1/2,			 nanL,
	0.5,			 nanL,
	0.5L,			 nanL,
	1/2 +3/2 *I,		 complex(nanL, 1.5L),
	0.5 +1.5 *I,		 complex(nanL, 1.5L),
	0.5L+1.5L*I,		 complex(nanL, 1.5L),
        invalid,		 NAN);
binary('+',			 infL,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 nanL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 nanL,
	null,			 infL,
	0,			 infL,
	0.0,			 infL,
	0.0L,			 infL,
	2,			 infL,
	2.0,			 infL,
	2.0L,			 infL,
	0x8000000000000000,	 infL,
	1/2,			 infL,
	0.5,			 infL,
	0.5L,			 infL,
	1/2 +3/2 *I,		 infL+1.5L*I,
	0.5 +1.5 *I,		 infL+1.5L*I,
	0.5L+1.5L*I,		 infL+1.5L*I,
        invalid,		 NAN);
binary('+',			-infL,
	nan,			 nanL,
	inf,			 nanL,
       -inf,			-infL,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			-infL,
	null,			-infL,
	0,			-infL,
	0.0,			-infL,
	0.0L,			-infL,
	2,			-infL,
	2.0,			-infL,
	2.0L,			-infL,
	0x8000000000000000,	-infL,
	1/2,			-infL,
	0.5,			-infL,
	0.5L,			-infL,
	1/2 +3/2 *I,		-infL+1.5L*I,
	0.5 +1.5 *I,		-infL+1.5L*I,
	0.5L+1.5L*I,		-infL+1.5L*I,
        invalid,		 NAN);
binary('+',			 null,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 2,
	2.0,			 2.0,
	2.0L,			 2.0L,
	0x8000000000000000,	 0x8000000000000000,
	1/2,			 1/2,
	0.5,			 0.5,
	0.5L,			 0.5L,
	1/2 +3/2 *I,		 1/2 +3/2 *I,
	0.5 +1.5 *I,		 0.5 +1.5 *I,
	0.5L+1.5L*I,		 0.5L+1.5L*I,
        invalid,		 NAN);
binary('+',			 0,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 2,
       -2,			-2,
	2.0,			 2.0,
       -2.0,			-2.0,
	2.0L,			 2.0L,
       -2.0L,			-2.0L,
	0x8000000000000000,	 0x8000000000000000.0,
       -0x8000000000000000,	-0x8000000000000000.0,
	1/2,			 1/2,
       -1/2,			-1/2,
	0.5,			 0.5,
       -0.5,			-0.5,
	0.5L,			 0.5L,
       -0.5L,			-0.5L,
	1/2 +3/2 *I,		 1/2 +3/2 *I,
       -1/2 -3/2 *I,		-1/2 -3/2 *I,
	0.5 +1.5 *I,		 0.5 +1.5 *I,
       -0.5 -1.5 *I,		-0.5 -1.5 *I,
	0.5L+1.5L*I,		 0.5L+1.5L*I,
       -0.5L-1.5L*I,		-0.5L-1.5L*I,
        invalid,		 NAN);
binary('+',			 0.0,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 2.0,
       -2,			-2.0,
	2.0,			 2.0,
       -2.0,			-2.0,
	2.0L,			 2.0L,
       -2.0L,			-2.0L,
	0x8000000000000000,	 0x8000000000000000,
       -0x8000000000000000,	-0x8000000000000000,
	1/2,			 0.5,
       -1/2,			-0.5,
	0.5,			 0.5,
       -0.5,			-0.5,
	0.5L,			 0.5L,
       -0.5L,			-0.5L,
	1/2 +3/2 *I,		 0.5 +1.5 *I,
       -1/2 -3/2 *I,		-0.5 -1.5 *I,
	0.5 +1.5 *I,		 0.5 +1.5 *I,
       -0.5 -1.5 *I,		-0.5 -1.5 *I,
	0.5L+1.5L*I,		 0.5L+1.5L*I,
       -0.5L-1.5L*I,		-0.5L-1.5L*I,
        invalid,		 NAN);
binary('+',			 0.0L,
	nan,			 nanL,
	inf,			 infL,
       -inf,			-infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0.0L,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			 2.0L,
       -2,			-2.0L,
	2.0,			 2.0L,
       -2.0,			-2.0L,
	2.0L,			 2.0L,
       -2.0L,			-2.0L,
	0x8000000000000000,	 0x8000000000000000.0L,
       -0x8000000000000000,	-0x8000000000000000.0L,
	1/2,			 0.5L,
       -1/2,			-0.5L,
	0.5,			 0.5L,
       -0.5,			-0.5L,
	0.5L,			 0.5L,
       -0.5L,			-0.5L,
	1/2 +3/2 *I,		 0.5L+1.5L*I,
       -1/2 -3/2 *I,		-0.5L-1.5L*I,
	0.5 +1.5 *I,		 0.5L+1.5L*I,
       -0.5 -1.5 *I,		-0.5L-1.5L*I,
	0.5L+1.5L*I,		 0.5L+1.5L*I,
       -0.5L-1.5L*I,		-0.5L-1.5L*I,
        invalid,		 NAN);
binary('+',			 2,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 2,
	0,			 2,
	0.0,			 2.0,
	0.0L,			 2.0L,
	2,			 4,
       -2,			 0,
	2.0,			 4.0,
       -2.0,			 0.0,
	2.0L,			 4.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0x8000000000000002,
       -0x8000000000000000,	-0x7ffffffffffffffe,
	1/2,			 5/2,
       -1/2,			 3/2,
	0.5,			 2.5,
       -0.5,			 1.5,
	0.5L,			 2.5L,
       -0.5L,			 1.5L,
	1/2 +3/2 *I,		 5/2 +3/2 *I,
       -1/2 -3/2 *I,		 3/2 -3/2 *I,
	0.5 +1.5 *I,		 2.5 +1.5 *I,
       -0.5 -1.5 *I,		 1.5 -1.5 *I,
	0.5L+1.5L*I,		 2.5L+1.5L*I,
       -0.5L-1.5L*I,		 1.5L-1.5L*I,
        invalid,		 NAN);
binary('+',			-2,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			-2,
	0,			-2,
	0.0,			-2.0,
	0.0L,			-2.0L,
	2,			 0,
       -2,			-4,
	2.0,			 0.0,
       -2.0,			-4.0,
	2.0L,			 0.0L,
       -2.0L,			-4.0L,
	0x8000000000000000,	 0x7ffffffffffffffe,
       -0x8000000000000000,	-0x8000000000000002,
	1/2,			-3/2,
       -1/2,			-5/2,
	0.5,			-1.5,
       -0.5,			-2.5,
	0.5L,			-1.5L,
       -0.5L,			-2.5L,
	1/2 +3/2 *I,		-3/2 +3/2 *I,
       -1/2 -3/2 *I,		-5/2 -3/2 *I,
	0.5 +1.5 *I,		-1.5 +1.5 *I,
       -0.5 -1.5 *I,		-2.5 -1.5 *I,
	0.5L+1.5L*I,		-1.5L+1.5L*I,
       -0.5L-1.5L*I,		-2.5L-1.5L*I,
        invalid,		 NAN);
binary('+',			 2.0,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 2.0,
	0,			 2.0,
	0.0,			 2.0,
	0.0L,			 2.0L,
	2,			 4.0,
       -2,			 0.0,
	2.0,			 4.0,
       -2.0,			 0.0,
	2.0L,			 4.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0x8000000000000002.0,
       -0x8000000000000000,	-0x7ffffffffffffffe.0,
	1/2,			 2.5,
       -1/2,			 1.5,
	0.5,			 2.5,
       -0.5,			 1.5,
	0.5L,			 2.5L,
       -0.5L,			 1.5L,
	1/2 +3/2 *I,		 2.5 +1.5 *I,
       -1/2 -3/2 *I,		 1.5 -1.5 *I,
	0.5 +1.5 *I,		 2.5 +1.5 *I,
       -0.5 -1.5 *I,		 1.5 -1.5 *I,
	0.5L+1.5L*I,		 2.5L+1.5L*I,
       -0.5L-1.5L*I,		 1.5L-1.5L*I,
        invalid,		 NAN);
binary('+',			-2.0,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			-2.0,
	0,			-2.0,
	0.0,			-2.0,
	0.0L,			-2.0L,
	2,			 0.0,
       -2,			-4.0,
	2.0,			 0.0,
       -2.0,			-4.0,
	2.0L,			 0.0L,
       -2.0L,			-4.0L,
	0x8000000000000000,	 0x7ffffffffffffffe.0,
       -0x8000000000000000,	-0x8000000000000002.0,
	1/2,			-1.5,
       -1/2,			-2.5,
	0.5,			-1.5,
       -0.5,			-2.5,
	0.5L,			-1.5L,
       -0.5L,			-2.5L,
	1/2 +3/2 *I,		-1.5 +1.5 *I,
       -1/2 -3/2 *I,		-2.5 -1.5 *I,
	0.5 +1.5 *I,		-1.5 +1.5 *I,
       -0.5 -1.5 *I,		-2.5 -1.5 *I,
	0.5L+1.5L*I,		-1.5L+1.5L*I,
       -0.5L-1.5L*I,		-2.5L-1.5L*I,
        invalid,		 NAN);
binary('+',			 2.0L,
	nan,			 nanL,
	inf,			 infL,
       -inf,			-infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 2.0L,
	0,			 2.0L,
	0.0,			 2.0L,
	0.0L,			 2.0L,
	2,			 4.0L,
       -2,			 0.0L,
	2.0,			 4.0L,
       -2.0,			 0.0L,
	2.0L,			 4.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0x8000000000000002.0L,
       -0x8000000000000000,	-0x7ffffffffffffffe.0L,
	1/2,			 2.5L,
       -1/2,			 1.5L,
	0.5,			 2.5L,
       -0.5,			 1.5L,
	0.5L,			 2.5L,
       -0.5L,			 1.5L,
	1/2 +3/2 *I,		 2.5L+1.5L*I,
       -1/2 -3/2 *I,		 1.5L-1.5L*I,
	0.5 +1.5 *I,		 2.5L+1.5L*I,
       -0.5 -1.5 *I,		 1.5L-1.5L*I,
	0.5L+1.5L*I,		 2.5L+1.5L*I,
       -0.5L-1.5L*I,		 1.5L-1.5L*I,
        invalid,		 NAN);
binary('+',			-2.0L,
	nan,			 nanL,
	inf,			 infL,
       -inf,			-infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			-2.0L,
	0,			-2.0L,
	0.0,			-2.0L,
	0.0L,			-2.0L,
	2,			 0.0L,
       -2,			-4.0L,
	2.0,			 0.0L,
       -2.0,			-4.0L,
	2.0L,			 0.0L,
       -2.0L,			-4.0L,
	0x8000000000000000,	 0x7ffffffffffffffe.0L,
       -0x8000000000000000,	-0x8000000000000002.0L,
	1/2,			-1.5L,
       -1/2,			-2.5L,
	0.5,			-1.5L,
       -0.5,			-2.5L,
	0.5L,			-1.5L,
       -0.5L,			-2.5L,
	1/2 +3/2 *I,		-1.5L+1.5L*I,
       -1/2 -3/2 *I,		-2.5L-1.5L*I,
	0.5 +1.5 *I,		-1.5L+1.5L*I,
       -0.5 -1.5 *I,		-2.5L-1.5L*I,
	0.5L+1.5L*I,		-1.5L+1.5L*I,
       -0.5L-1.5L*I,		-2.5L-1.5L*I,
        invalid,		 NAN);
binary('+',			 0x8000000000000000,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0x8000000000000000,
	0,			 0x8000000000000000,
	0.0,			 0x8000000000000000.0,
	0.0L,			 0x8000000000000000.0L,
	2,			 0x8000000000000002,
       -2,			 0x7ffffffffffffffe,
	2.0,			 0x8000000000000002.0,
       -2.0,			 0x7ffffffffffffff8.0,	/* rounding */
	2.0L,			 0x8000000000000002.0L,
       -2.0L,			 0x7ffffffffffffffe.0L,
	0x8000000000000000,	 0x10000000000000000,
       -0x8000000000000000,	 0,
	1/2,			 0x10000000000000001/2,
       -1/2,			 0xffffffffffffffff/2,
	0.5,			 0x8000000000000000.0,
       -0.5,			 0x8000000000000000.0,
	0.5L,			 0x8000000000000000L,
       -0.5L,			 0x8000000000000000L,
	1/2 +3/2 *I,		 0x10000000000000001/2+3/2 *I,
       -1/2 -3/2 *I,		 0xffffffffffffffff/2 -3/2 *I,
	0.5 +1.5 *I,		 0x8000000000000000   +1.5 *I,
       -0.5 -1.5 *I,		 0x8000000000000000   -1.5 *I,
	0.5L+1.5L*I,		 0x8000000000000000L  +1.5L*I,
       -0.5L-1.5L*I,		 0x8000000000000000L  -1.5L*I,
        invalid,		 NAN);
binary('+',			-0x8000000000000000,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			-0x8000000000000000,
	0,			-0x8000000000000000,
	0.0,			-0x8000000000000000.0,
	0.0L,			-0x8000000000000000.0L,
	2,			-0x7ffffffffffffffe,
       -2,			-0x8000000000000002,
	2.0,			-0x7ffffffffffffffe.0,
       -2.0,			-0x8000000000000002.0,
	2.0L,			-0x7ffffffffffffffe.0L,
       -2.0L,			-0x8000000000000002.0L,
	0x8000000000000000,	 0,
       -0x8000000000000000,	-0x10000000000000000,
	1/2,			-0xffffffffffffffff/2,
       -1/2,			-0x10000000000000001/2,
	0.5,			-0x8000000000000000.0,
       -0.5,			-0x8000000000000000.0,
	0.5L,			-0x8000000000000000L,
       -0.5L,			-0x8000000000000000L,
	1/2 +3/2 *I,		-0xffffffffffffffff/2 +3/2 *I,
       -1/2 -3/2 *I,		-0x10000000000000001/2-3/2 *I,
	0.5 +1.5 *I,		-0x8000000000000000   +1.5 *I,
       -0.5 -1.5 *I,		-0x8000000000000000   -1.5 *I,
	0.5L+1.5L*I,		-0x8000000000000000L  +1.5L*I,
       -0.5L-1.5L*I,		-0x8000000000000000L  -1.5L*I,
        invalid,		 NAN);
binary('+',			 1/2,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 1/2,
	0,			 1/2,
	0.0,			 0.5,
	0.0L,			 0.5L,
	2,			 5/2,
       -2,			-3/2,
	2.0,			 2.5,
       -2.0,			-1.5,
	2.0L,			 2.5L,
       -2.0L,			-1.5L,
	0x8000000000000000,	 0x10000000000000001/2,
       -0x8000000000000000,	-0xffffffffffffffff/2,
	1/2,			 1,
       -1/2,			 0,
	0.5,			 1.0,
       -0.5,			 0.0,
	0.5L,			 1.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 1   +3/2 *I,
       -1/2 -3/2 *I,		     -3/2 *I,
	0.5 +1.5 *I,		 1.0 +1.5 *I,
       -0.5 -1.5 *I,		     -1.5 *I,
	0.5L+1.5L*I,		 1.0L+1.5L*I,
       -0.5L-1.5L*I,		     -1.5L*I,
        invalid,		 NAN);
binary('+',			-1/2,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			-1/2,
	0,			-1/2,
	0.0,			-0.5,
	0.0L,			-0.5L,
	2,			 3/2,
       -2,			-5/2,
	2.0,			 1.5,
       -2.0,			-2.5,
	2.0L,			 1.5L,
       -2.0L,			-2.5L,
	0x8000000000000000,	 0xffffffffffffffff/2,
       -0x8000000000000000,	-0x10000000000000001/2,
	1/2,			 0,
       -1/2,			-1,
	0.5,			 0.0,
       -0.5,			-1.0,
	0.5L,			 0.0L,
       -0.5L,			-1.0L,
	1/2 +3/2 *I,		      3/2 *I,
       -1/2 -3/2 *I,		-1   -3/2 *I,
	0.5 +1.5 *I,		      1.5 *I,
       -0.5 -1.5 *I,		-1.0 -1.5 *I,
	0.5L+1.5L*I,		      1.5L*I,
       -0.5L-1.5L*I,		-1.0L-1.5L*I,
        invalid,		 NAN);
binary('+',			 0.5,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0.5,
	0,			 0.5,
	0.0,			 0.5,
	0.0L,			 0.5L,
	2,			 2.5,
       -2,			-1.5,
	2.0,			 2.5,
       -2.0,			-1.5,
	2.0L,			 2.5L,
       -2.0L,			-1.5L,
	0x8000000000000000,	 0x8000000000000000.0,
       -0x8000000000000000,	-0x8000000000000000.0,
	1/2,			 1.0,
       -1/2,			 0.0,
	0.5,			 1.0,
       -0.5,			 0.0,
	0.5L,			 1.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 1.0 +1.5 *I,
       -1/2 -3/2 *I,		     -1.5 *I,
	0.5 +1.5 *I,		 1.0 +1.5 *I,
       -0.5 -1.5 *I,		     -1.5 *I,
	0.5L+1.5L*I,		 1.0L+1.5L*I,
       -0.5L-1.5L*I,		     -1.5L*I,
        invalid,		 NAN);
binary('+',			-0.5,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			-0.5,
	0,			-0.5,
	0.0,			-0.5,
	0.0L,			-0.5L,
	2,			 1.5,
       -2,			-2.5,
	2.0,			 1.5,
       -2.0,			-2.5,
	2.0L,			 1.5L,
       -2.0L,			-2.5L,
	0x8000000000000000,	 0x8000000000000000.0,
       -0x8000000000000000,	-0x8000000000000000.0,
	1/2,			 0.0,
       -1/2,			-1.0,
	0.5,			 0.0,
       -0.5,			-1.0,
	0.5L,			 0.0L,
       -0.5L,			-1.0L,
	1/2 +3/2 *I,		      1.5 *I,
       -1/2 -3/2 *I,		-1.0 -1.5 *I,
	0.5 +1.5 *I,		      1.5 *I,
       -0.5 -1.5 *I,		-1.0 -1.5 *I,
	0.5L+1.5L*I,		      1.5L*I,
       -0.5L-1.5L*I,		-1.0L-1.5L*I,
        invalid,		 NAN);
binary('+',			 0.5L,
	nan,			 nanL,
	inf,			 infL,
       -inf,			-infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0.5L,
	0,			 0.5L,
	0.0,			 0.5L,
	0.0L,			 0.5L,
	2,			 2.5L,
       -2,			-1.5L,
	2.0,			 2.5L,
       -2.0,			-1.5L,
	2.0L,			 2.5L,
       -2.0L,			-1.5L,
	0x8000000000000000,	 0x8000000000000000L,
       -0x8000000000000000,	-0x8000000000000000L,
	1/2,			 1.0L,
       -1/2,			 0.0L,
	0.5,			 1.0L,
       -0.5,			 0.0L,
	0.5L,			 1.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 1.0L+1.5L*I,
       -1/2 -3/2 *I,		     -1.5L*I,
	0.5 +1.5 *I,		 1.0L+1.5L*I,
       -0.5 -1.5 *I,		     -1.5L*I,
	0.5L+1.5L*I,		 1.0L+1.5L*I,
       -0.5L-1.5L*I,		     -1.5L*I,
        invalid,		 NAN);
binary('+',			-0.5L,
	nan,			 nanL,
	inf,			 infL,
       -inf,			-infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			-0.5L,
	0,			-0.5L,
	0.0,			-0.5L,
	0.0L,			-0.5L,
	2,			 1.5L,
       -2,			-2.5L,
	2.0,			 1.5L,
       -2.0,			-2.5L,
	2.0L,			 1.5L,
       -2.0L,			-2.5L,
	0x8000000000000000,	 0x8000000000000000L,
       -0x8000000000000000,	-0x8000000000000000L,
	1/2,			 0.0L,
       -1/2,			-1.0L,
	0.5,			 0.0L,
       -0.5,			-1.0L,
	0.5L,			 0.0L,
       -0.5L,			-1.0L,
	1/2 +3/2 *I,		      1.5L*I,
       -1/2 -3/2 *I,		-1.0L-1.5L*I,
	0.5 +1.5 *I,		      1.5L*I,
       -0.5 -1.5 *I,		-1.0L-1.5L*I,
	0.5L+1.5L*I,		      1.5L*I,
       -0.5L-1.5L*I,		-1.0L-1.5L*I,
        invalid,		 NAN);
binary('+',			 1/2 +3/2 *I,
	nan,			 nan +1.5 *I,
	inf,			 inf +1.5 *I,
       -inf,			-inf +1.5 *I,
	nanL,			 nanL+1.5L*I,
	infL,			 infL+1.5L*I,
       -infL,			-infL+1.5L*I,
	null,			 1/2 +3/2 *I,
	0,			 1/2 +3/2 *I,
	0.0,			 0.5 +1.5 *I,
	0.0L,			 0.5L+1.5L*I,
	2,			 5/2 +3/2 *I,
       -2,			-3/2 +3/2 *I,
	2.0,			 2.5 +1.5 *I,
       -2.0,			-1.5 +1.5 *I,
	2.0L,			 2.5L+1.5L*I,
       -2.0L,			-1.5L+1.5L*I,
	0x8000000000000000,	 0x10000000000000001/2+3/2*I,
       -0x8000000000000000,	-0xffffffffffffffff/2 +3/2*I,
	1/2,			 1   +3/2 *I,
       -1/2,			      3/2 *I,
	0.5,			 1.0 +1.5 *I,
       -0.5,			      1.5 *I,
	0.5L,			 1.0L+1.5L*I,
       -0.5L,			      1.5L*I,
	1/2 +3/2 *I,		 1   +3   *I,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 1.0 +3.0 *I,
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		 1.0L+3.0L*I,
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('+',			-1/2 -3/2 *I,
	nan,			 nan -1.5 *I,
	inf,			 inf -1.5 *I,
       -inf,			-inf -1.5 *I,
	nanL,			 nanL-1.5L*I,
	infL,			 infL-1.5L*I,
       -infL,			-infL-1.5L*I,
	null,			-1/2 -3/2 *I,
	0,			-1/2 -3/2 *I,
	0.0,			-0.5 -1.5 *I,
	0.0L,			-0.5L-1.5L*I,
	2,			 3/2 -3/2 *I,
       -2,			-5/2 -3/2 *I,
	2.0,			 1.5 -1.5 *I,
       -2.0,			-2.5 -1.5 *I,
	2.0L,			 1.5L-1.5L*I,
       -2.0L,			-2.5L-1.5L*I,
	0x8000000000000000,	 0xffffffffffffffff/2 -3/2*I,
       -0x8000000000000000,	-0x10000000000000001/2-3/2*I,
	1/2,			     -3/2 *I,
       -1/2,			-1   -3/2 *I,
	0.5,			     -1.5 *I,
       -0.5,			-1.0 -1.5 *I,
	0.5L,			     -1.5L*I,
       -0.5L,			-1.0L-1.5L*I,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		-1   -3   *I,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		-1.0 -3.0 *I,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		-1.0L-3.0L*I,
        invalid,		 NAN);
binary('+',			 0.5 +1.5 *I,
	nan,			 nan +1.5 *I,
	inf,			 inf +1.5 *I,
       -inf,			-inf +1.5 *I,
	nanL,			 nanL+1.5L*I,
	infL,			 infL+1.5L*I,
       -infL,			-infL+1.5L*I,
	null,			 0.5 +1.5 *I,
	0,			 0.5 +1.5 *I,
	0.0,			 0.5 +1.5 *I,
	0.0L,			 0.5L+1.5L*I,
	2,			 2.5 +1.5 *I,
       -2,			-1.5 +1.5 *I,
	2.0,			 2.5 +1.5 *I,
       -2.0,			-1.5 +1.5 *I,
	2.0L,			 2.5L+1.5L*I,
       -2.0L,			-1.5L+1.5L*I,
	0x8000000000000000,	 0x8000000000000000.0+1.5*I,
       -0x8000000000000000,	-0x8000000000000000.0+1.5*I,
	1/2,			 1.0 +1.5 *I,
       -1/2,			      1.5 *I,
	0.5,			 1.0 +1.5 *I,
       -0.5,			      1.5 *I,
	0.5L,			 1.0L+1.5L*I,
       -0.5L,			      1.5L*I,
	1/2 +3/2 *I,		 1   +3   *I,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 1.0 +3.0 *I,
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		 1.0L+3.0L*I,
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('+',			-0.5 -1.5 *I,
	nan,			 nan -1.5 *I,
	inf,			 inf -1.5 *I,
       -inf,			-inf -1.5 *I,
	nanL,			 nanL-1.5L*I,
	infL,			 infL-1.5L*I,
       -infL,			-infL-1.5L*I,
	null,			-0.5 -1.5 *I,
	0,			-0.5 -1.5 *I,
	0.0,			-0.5 -1.5 *I,
	0.0L,			-0.5L-1.5L*I,
	2,			 1.5 -1.5 *I,
       -2,			-2.5 -1.5 *I,
	2.0,			 1.5 -1.5 *I,
       -2.0,			-2.5 -1.5 *I,
	2.0L,			 1.5L-1.5L*I,
       -2.0L,			-2.5L-1.5L*I,
	0x8000000000000000,	 0x8000000000000000.0-1.5*I,
       -0x8000000000000000,	-0x8000000000000000.0-1.5*I,
	1/2,			     -1.5 *I,
       -1/2,			-1.0 -1.5 *I,
	0.5,			     -1.5 *I,
       -0.5,			-1.0 -1.5 *I,
	0.5L,			     -1.5L*I,
       -0.5L,			-1.0L-1.5L*I,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		-1   -3   *I,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		-1.0 -3.0 *I,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		-1.0L-3.0L*I,
        invalid,		 NAN);
binary('+',			 0.5L+1.5L*I,
	nan,			 nanL+1.5L*I,
	inf,			 infL+1.5L*I,
       -inf,			-infL+1.5L*I,
	nanL,			 nanL+1.5L*I,
	infL,			 infL+1.5L*I,
       -infL,			-infL+1.5L*I,
	null,			 0.5L+1.5L*I,
	0,			 0.5L+1.5L*I,
	0.0,			 0.5L+1.5L*I,
	0.0L,			 0.5L+1.5L*I,
	2,			 2.5L+1.5L*I,
       -2,			-1.5L+1.5L*I,
	2.0,			 2.5L+1.5L*I,
       -2.0,			-1.5L+1.5L*I,
	2.0L,			 2.5L+1.5L*I,
       -2.0L,			-1.5L+1.5L*I,
	0x8000000000000000,	 0x8000000000000000L+1.5L*I,
       -0x8000000000000000,	-0x8000000000000000L+1.5L*I,
	1/2,			 1.0L+1.5L*I,
       -1/2,			      1.5L*I,
	0.5,			 1.0L+1.5L*I,
       -0.5,			      1.5L*I,
	0.5L,			 1.0L+1.5L*I,
       -0.5L,			      1.5L*I,
	1/2 +3/2 *I,		 1.0L+3.0L*I,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 1.0L+3.0L*I,
       -0.5 -1.5 *I,		 0.0L,
	0.5L+1.5L*I,		 1.0L+3.0L*I,
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('+',			-0.5L-1.5L*I,
	nan,			 nanL-1.5L*I,
	inf,			 infL-1.5L*I,
       -inf,			-infL-1.5L*I,
	nanL,			 nanL-1.5L*I,
	infL,			 infL-1.5L*I,
       -infL,			-infL-1.5L*I,
	null,			-0.5L-1.5L*I,
	0,			-0.5L-1.5L*I,
	0.0,			-0.5L-1.5L*I,
	0.0L,			-0.5L-1.5L*I,
	2,			 1.5L-1.5L*I,
       -2,			-2.5L-1.5L*I,
	2.0,			 1.5L-1.5L*I,
       -2.0,			-2.5L-1.5L*I,
	2.0L,			 1.5L-1.5L*I,
       -2.0L,			-2.5L-1.5L*I,
	0x8000000000000000,	 0x8000000000000000L-1.5L*I,
       -0x8000000000000000,	-0x8000000000000000L-1.5L*I,
	1/2,			     -1.5L*I,
       -1/2,			-1.0L-1.5L*I,
	0.5,			     -1.5L*I,
       -0.5,			-1.0L-1.5L*I,
	0.5L,			     -1.5L*I,
       -0.5L,			-1.0L-1.5L*I,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		-1.0L-3.0L*I,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		-1.0 -3.0L*I,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		-1.0L-3.0L*I,
        invalid,		 NAN);
binary('+',			 invalid,
	null,			 NAN,
	0,			 NAN,
	0.0,			 NAN,
	0.0L,			 NAN,
	2,			 NAN,
	2.0,			 NAN,
	2.0L,			 NAN,
	0x8000000000000000,	 NAN,
	1/2,			 NAN,
	1/2 +3/2 *I,		 NAN,
	0.5 +1.5 *I,		 NAN,
	0.5L+1.5L*I,		 NAN,
        invalid,		 NAN);
binary('-',			 nan,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 nan,
	2.0,			 nan,
	2.0L,			 nanL,
	0x8000000000000000,	 nan,
	1/2,			 nan,
	0.5,			 nan,
	0.5L,			 nanL,
	1/2 +3/2 *I,		 complex(nan,  -1.5),
       -1/2 -3/2 *I,		 complex(nan,   1.5),
	0.5 +1.5 *I,		 complex(nan,  -1.5),
       -0.5 -1.5 *I,		 complex(nan,   1.5),
	0.5L+1.5L*I,		 complex(nanL, -1.5L),
       -0.5L-1.5L*I,		 complex(nanL,  1.5L),
        invalid,		 NAN);
binary('-',			 inf,
	nan,			 nan,
	inf,			 nan,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 infL,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 infL,
	2,			 inf,
	2.0,			 inf,
	2.0L,			 infL,
	0x8000000000000000,	 inf,
	1/2,			 inf,
	0.5,			 inf,
	0.5L,			 infL,
	1/2 +3/2 *I,		 complex(inf,  -1.5),
       -1/2 -3/2 *I,		 complex(inf,   1.5),
	0.5 +1.5 *I,		 complex(inf,  -1.5),
       -0.5 -1.5 *I,		 complex(inf,   1.5),
	0.5L+1.5L*I,		 complex(infL, -1.5L),
       -0.5L-1.5L*I,		 complex(infL,  1.5L),
        invalid,		 NAN);
binary('-',			-inf,
	nan,			 nan,
	inf,			-inf,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 nanL,
	null,			-inf,
	0,			-inf,
	0.0,			-inf,
	0.0L,			-infL,
	2,			-inf,
	2.0,			-inf,
	2.0L,			-infL,
	0x8000000000000000,	-inf,
	1/2,			-inf,
	0.5,			-infL,
	0.5L,			-infL,
	1/2 +3/2 *I,		 complex(-inf,  -1.5),
       -1/2 -3/2 *I,		 complex(-inf,   1.5),
	0.5 +1.5 *I,		 complex(-inf,  -1.5),
       -0.5 -1.5 *I,		 complex(-inf,   1.5),
	0.5L+1.5L*I,		 complex(-infL, -1.5L),
       -0.5L-1.5L*I,		 complex(-infL,  1.5L),
        invalid,		 NAN);
binary('-',			 nanL,
	nan,			 nanL,
	inf,			 nanL,
       -inf,			 nanL,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 nanL,
	2.0,			 nanL,
	2.0L,			 nanL,
	0x8000000000000000,	 nanL,
	1/2,			 nanL,
	0.5,			 nanL,
	0.5L,			 nanL,
	1/2 +3/2 *I,		 complex(nanL, -1.5L),
       -1/2 -3/2 *I,		 complex(nanL,  1.5L),
	0.5 +1.5 *I,		 complex(nanL, -1.5L),
       -0.5 -1.5 *I,		 complex(nanL,  1.5L),
	0.5L+1.5L*I,		 complex(nanL, -1.5L),
       -0.5L-1.5L*I,		 complex(nanL,  1.5L),
        invalid,		 NAN);
binary('-',			 infL,
	nan,			 nanL,
	inf,			 nanL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 infL,
	null,			 infL,
	0,			 infL,
	0.0,			 infL,
	0.0L,			 infL,
	2,			 infL,
	2.0,			 infL,
	2.0L,			 infL,
	0x8000000000000000,	 infL,
	1/2,			 infL,
	0.5,			 infL,
	0.5L,			 infL,
	1/2 +3/2 *I,		 complex(infL, -1.5L),
       -1/2 -3/2 *I,		 complex(infL,  1.5L),
	0.5 +1.5 *I,		 complex(infL, -1.5L),
       -0.5 -1.5 *I,		 complex(infL,  1.5L),
	0.5L+1.5L*I,		 complex(infL, -1.5L),
       -0.5L-1.5L*I,		 complex(infL,  1.5L),
        invalid,		 NAN);
binary('-',			-infL,
	nan,			 nanL,
	inf,			-infL,
       -inf,			 nanL,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 nanL,
	null,			-infL,
	0,			-infL,
	0.0,			-infL,
	0.0L,			-infL,
	2,			-infL,
	2.0,			-infL,
	2.0L,			-infL,
	0x8000000000000000,	-infL,
	1/2,			-infL,
	0.5,			-infL,
	0.5L,			-infL,
	1/2 +3/2 *I,		 complex(-infL, -1.5L),
       -1/2 -3/2 *I,		 complex(-infL,  1.5L),
	0.5 +1.5 *I,		 complex(-infL, -1.5L),
       -0.5 -1.5 *I,		 complex(-infL,  1.5L),
	0.5L+1.5L*I,		 complex(-infL, -1.5L),
       -0.5L-1.5L*I,		 complex(-infL,  1.5L),
        invalid,		 NAN);
binary('-',			 null,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			-2,
	2.0,			-2.0,
	2.0L,			-2.0L,
	0x8000000000000000,	-0x8000000000000000,
	1/2,			-1/2,
	0.5,			-0.5,
	0.5L,			-0.5L,
	1/2 +3/2 *I,		-1/2 -3/2 *I,
	0.5 +1.5 *I,		-0.5 -1.5 *I,
	0.5L+1.5L*I,		-0.5L-1.5L*I,
        invalid,		 NAN);
binary('-',			 0,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			-2,
       -2,			 2,
	2.0,			-2.0,
       -2.0,			 2.0,
	2.0L,			-2.0L,
       -2.0L,			 2.0L,
	0x8000000000000000,	-0x8000000000000000,
       -0x8000000000000000,	 0x8000000000000000,
	1/2,			-1/2,
       -1/2,			 1/2,
	0.5,			-0.5,
       -0.5,			 0.5,
	0.5L,			-0.5L,
       -0.5L,			 0.5L,
	1/2 +3/2 *I,		-1/2 -3/2 *I,
       -1/2 -3/2 *I,		 1/2 +3/2 *I,
	0.5 +1.5 *I,		-0.5 -1.5 *I,
       -0.5 -1.5 *I,		 0.5 +1.5 *I,
	0.5L+1.5L*I,		-0.5L-1.5L*I,
       -0.5L-1.5L*I,		 0.5L+1.5L*I,
        invalid,		 NAN);
binary('-',			 0.0,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			-2.0,
       -2,			 2.0,
	2.0,			-2.0,
       -2.0,			 2.0,
	2.0L,			-2.0L,
       -2.0L,			 2.0L,
	0x8000000000000000,	-0x8000000000000000.0,
       -0x8000000000000000,	 0x8000000000000000.0,
	1/2,			-0.5,
       -1/2,			 0.5,
	0.5,			-0.5,
       -0.5,			 0.5,
	0.5L,			-0.5L,
       -0.5L,			 0.5L,
	1/2 +3/2 *I,		-0.5 -1.5 *I,
       -1/2 -3/2 *I,		 0.5 +1.5 *I,
	0.5 +1.5 *I,		-0.5 -1.5 *I,
       -0.5 -1.5 *I,		 0.5 +1.5 *I,
	0.5L+1.5L*I,		-0.5L-1.5L*I,
       -0.5L-1.5L*I,		 0.5L+1.5L*I,
        invalid,		 NAN);
binary('-',			 0.0L,
	nan,			 nanL,
	inf,			-infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0.0L,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			-2.0L,
       -2,			 2.0L,
	2.0,			-2.0L,
       -2.0,			 2.0L,
	2.0L,			-2.0L,
       -2.0L,			 2.0L,
	0x8000000000000000,	-0x8000000000000000.0L,
       -0x8000000000000000,	 0x8000000000000000.0L,
	1/2,			-0.5L,
       -1/2,			 0.5L,
	0.5,			-0.5L,
       -0.5,			 0.5L,
	0.5L,			-0.5L,
       -0.5L,			 0.5L,
	1/2 +3/2 *I,		-0.5L-1.5L*I,
       -1/2 -3/2 *I,		 0.5L+1.5L*I,
	0.5 +1.5 *I,		-0.5L-1.5L*I,
       -0.5 -1.5 *I,		 0.5L+1.5L*I,
	0.5L+1.5L*I,		-0.5L-1.5L*I,
       -0.5L-1.5L*I,		 0.5L+1.5L*I,
        invalid,		 NAN);
binary('-',			 2,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 2,
	0,			 2,
	0.0,			 2.0,
	0.0L,			 2.0L,
	2,			 0,
       -2,			 4,
	2.0,			 0.0,
       -2.0,			 4.0,
	2.0L,			 0.0L,
       -2.0L,			 4.0L,
	0x8000000000000000,	-0x7ffffffffffffffe,
       -0x8000000000000000,	 0x8000000000000002,
	1/2,			 3/2,
       -1/2,			 5/2,
	0.5,			 1.5,
       -0.5,			 2.5,
	0.5L,			 1.5L,
       -0.5L,			 2.5L,
	1/2 +3/2 *I,		 3/2 -3/2 *I,
       -1/2 -3/2 *I,		 5/2 +3/2 *I,
	0.5 +1.5 *I,		 1.5 -1.5 *I,
       -0.5 -1.5 *I,		 2.5 +1.5 *I,
	0.5L+1.5L*I,		 1.5L-1.5L*I,
       -0.5L-1.5L*I,		 2.5L+1.5L*I,
        invalid,		 NAN);
binary('-',			-2,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			-2,
	0,			-2,
	0.0,			-2.0,
	0.0L,			-2.0L,
	2,			-4,
       -2,			 0,
	2.0,			-4.0,
       -2.0,			 0.0,
	2.0L,			-4.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	-0x8000000000000002,
       -0x8000000000000000,	 0x7ffffffffffffffe,
	1/2,			-5/2,
       -1/2,			-3/2,
	0.5,			-2.5,
       -0.5,			-1.5,
	0.5L,			-2.5L,
       -0.5L,			-1.5L,
	1/2 +3/2 *I,		-5/2 -3/2 *I,
       -1/2 -3/2 *I,		-3/2 +3/2 *I,
	0.5 +1.5 *I,		-2.5 -1.5 *I,
       -0.5 -1.5 *I,		-1.5 +1.5 *I,
	0.5L+1.5L*I,		-2.5L-1.5L*I,
       -0.5L-1.5L*I,		-1.5L+1.5L*I,
        invalid,		 NAN);
binary('-',			 2.0,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 2.0,
	0,			 2.0,
	0.0,			 2.0,
	0.0L,			 2.0L,
	2,			 0.0,
       -2,			 4.0,
	2.0,			 0.0,
       -2.0,			 4.0,
	2.0L,			 0.0L,
       -2.0L,			 4.0L,
	0x8000000000000000,	-0x7ffffffffffffffe.0,
       -0x8000000000000000,	 0x8000000000000002.0,
	1/2,			 1.5,
       -1/2,			 2.5,
	0.5,			 1.5,
       -0.5,			 2.5,
	0.5L,			 1.5L,
       -0.5L,			 2.5L,
	1/2 +3/2 *I,		 1.5 -1.5 *I,
       -1/2 -3/2 *I,		 2.5 +1.5 *I,
	0.5 +1.5 *I,		 1.5 -1.5 *I,
       -0.5 -1.5 *I,		 2.5 +1.5 *I,
	0.5L+1.5L*I,		 1.5L-1.5L*I,
       -0.5L-1.5L*I,		 2.5L+1.5L*I,
        invalid,		 NAN);
binary('-',			-2.0,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			-2.0,
	0,			-2.0,
	0.0,			-2.0,
	0.0L,			-2.0L,
	2,			-4.0,
       -2,			 0.0,
	2.0,			-4.0,
       -2.0,			 0.0,
	2.0L,			-4.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	-0x8000000000000002.0,
       -0x8000000000000000,	 0x7ffffffffffffffe.0,
	1/2,			-2.5,
       -1/2,			-1.5,
	0.5,			-2.5,
       -0.5,			-1.5,
	0.5L,			-2.5L,
       -0.5L,			-1.5L,
	1/2 +3/2 *I,		-2.5 -1.5 *I,
       -1/2 -3/2 *I,		-1.5 +1.5 *I,
	0.5 +1.5 *I,		-2.5 -1.5 *I,
       -0.5 -1.5 *I,		-1.5 +1.5 *I,
	0.5L+1.5L*I,		-2.5L-1.5L*I,
       -0.5L-1.5L*I,		-1.5L+1.5L*I,
        invalid,		 NAN);
binary('-',			 2.0L,
	nan,			 nanL,
	inf,			-infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 2.0L,
	0,			 2.0L,
	0.0,			 2.0L,
	0.0L,			 2.0L,
	2,			 0.0L,
       -2,			 4.0L,
	2.0,			 0.0L,
       -2.0,			 4.0L,
	2.0L,			 0.0L,
       -2.0L,			 4.0L,
	0x8000000000000000,	-0x7ffffffffffffffe.0L,
       -0x8000000000000000,	 0x8000000000000002.0L,
	1/2,			 1.5L,
       -1/2,			 2.5L,
	0.5,			 1.5L,
       -0.5,			 2.5L,
	0.5L,			 1.5L,
       -0.5L,			 2.5L,
	1/2 +3/2 *I,		 1.5L-1.5L*I,
       -1/2 -3/2 *I,		 2.5L+1.5L*I,
	0.5 +1.5 *I,		 1.5L-1.5L*I,
       -0.5 -1.5 *I,		 2.5L+1.5L*I,
	0.5L+1.5L*I,		 1.5L-1.5L*I,
       -0.5L-1.5L*I,		 2.5L+1.5L*I,
        invalid,		 NAN);
binary('-',			-2.0L,
	nan,			 nanL,
	inf,			-infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			-2.0L,
	0,			-2.0L,
	0.0,			-2.0L,
	0.0L,			-2.0L,
	2,			-4.0L,
       -2,			 0.0L,
	2.0,			-4.0L,
       -2.0,			 0.0L,
	2.0L,			-4.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	-0x8000000000000002.0L,
       -0x8000000000000000,	 0x7ffffffffffffffe.0L,
	1/2,			-2.5L,
       -1/2,			-1.5L,
	0.5,			-2.5L,
       -0.5,			-1.5L,
	0.5L,			-2.5L,
       -0.5L,			-1.5L,
	1/2 +3/2 *I,		-2.5L-1.5L*I,
       -1/2 -3/2 *I,		-1.5L+1.5L*I,
	0.5 +1.5 *I,		-2.5L-1.5L*I,
       -0.5 -1.5 *I,		-1.5L+1.5L*I,
	0.5L+1.5L*I,		-2.5L-1.5L*I,
       -0.5L-1.5L*I,		-1.5L+1.5L*I,
        invalid,		 NAN);
binary('-',			 0x8000000000000000,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0x8000000000000000,
	0,			 0x8000000000000000,
	0.0,			 0x8000000000000000.0,
	0.0L,			 0x8000000000000000.0L,
	2,			 0x7ffffffffffffffe,
       -2,			 0x8000000000000002,
	2.0,			 0x7ffffffffffffffe.0,
       -2.0,			 0x8000000000000002.0,
	2.0L,			 0x7ffffffffffffffe.0L,
       -2.0L,			 0x8000000000000002.0L,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0x10000000000000000,
	1/2,			 0xffffffffffffffff/2,
       -1/2,			 0x10000000000000001/2,
	0.5,			 0x8000000000000000.0,
       -0.5,			 0x8000000000000000.0,
	0.5L,			 0x8000000000000000L,
       -0.5L,			 0x8000000000000000L,
	1/2 +3/2 *I,		 0xffffffffffffffff/2 -3/2 *I,
       -1/2 -3/2 *I,		 0x10000000000000001/2+3/2 *I,
	0.5 +1.5 *I,		 0x8000000000000000  -1.5 *I,
       -0.5 -1.5 *I,		 0x8000000000000000   +1.5 *I,
	0.5L+1.5L*I,		 0x8000000000000000L -1.5L*I,
       -0.5L-1.5L*I,		 0x8000000000000000L  +1.5L*I,
        invalid,		 NAN);
binary('-',			-0x8000000000000000,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			-0x8000000000000000,
	0,			-0x8000000000000000,
	0.0,			-0x8000000000000000.0,
	0.0L,			-0x8000000000000000.0L,
	2,			-0x8000000000000002,
       -2,			-0x7ffffffffffffffe,
	2.0,			-0x8000000000000002.0,
       -2.0,			-0x7ffffffffffffffe.0,
	2.0L,			-0x8000000000000002.0L,
       -2.0L,			-0x7ffffffffffffffe.0L,
	0x8000000000000000,	-0x10000000000000000,
       -0x8000000000000000,	 0,
	1/2,			-0x10000000000000001/2,
       -1/2,			-0xffffffffffffffff/2,
	0.5,			-0x8000000000000000.0,
       -0.5,			-0x8000000000000000.0,
	0.5L,			-0x8000000000000000L,
       -0.5L,			-0x8000000000000000L,
	1/2 +3/2 *I,		-0x10000000000000001/2-3/2 *I,
       -1/2 -3/2 *I,		-0xffffffffffffffff/2 +3/2 *I,
	0.5 +1.5 *I,		-0x8000000000000000  -1.5 *I,
       -0.5 -1.5 *I,		-0x8000000000000000   +1.5 *I,
	0.5L+1.5L*I,		-0x8000000000000000L -1.5L*I,
       -0.5L-1.5L*I,		-0x8000000000000000L  +1.5L*I,
        invalid,		 NAN);
binary('-',			 1/2,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 1/2,
	0,			 1/2,
	0.0,			 0.5,
	0.0L,			 0.5L,
	2,			-3/2,
       -2,			 5/2,
	2.0,			-1.5,
       -2.0,			 2.5,
	2.0L,			-1.5L,
       -2.0L,			 2.5L,
	0x8000000000000000,	-0xffffffffffffffff/2,
       -0x8000000000000000,	 0x10000000000000001/2,
	1/2,			 0,
       -1/2,			 1,
	0.5,			 0.0,
       -0.5,			 1.0,
	0.5L,			 0.0L,
       -0.5L,			 1.0L,
	1/2 +3/2 *I,		     -3/2 *I,
       -1/2 -3/2 *I,		 1   +3/2 *I,
	0.5 +1.5 *I,		-1.5*I,
       -0.5 -1.5 *I,		 1.0 +1.5 *I,
	0.5L+1.5L*I,		-1.5L*I,
       -0.5L-1.5L*I,		 1.0L+1.5L*I,
        invalid,		 NAN);
binary('-',			-1/2,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			-1/2,
	0,			-1/2,
	0.0,			-0.5,
	0.0L,			-0.5L,
	2,			-5/2,
       -2,			 3/2,
	2.0,			-2.5,
       -2.0,			 1.5,
	2.0L,			-2.5L,
       -2.0L,			 1.5L,
	0x8000000000000000,	-0x10000000000000001/2,
       -0x8000000000000000,	 0xffffffffffffffff/2,
	1/2,			-1,
       -1/2,			 0,
	0.5,			-1.0,
       -0.5,			 0.0,
	0.5L,			-1.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		-1  -3/2 *I,
       -1/2 -3/2 *I,		      3/2 *I,
	0.5 +1.5 *I,		-1.0 -1.5 *I,
       -0.5 -1.5 *I,		      1.5 *I,
	0.5L+1.5L*I,		-1.0L-1.5L*I,
       -0.5L-1.5L*I,		      1.5L*I,
        invalid,		 NAN);
binary('-',			 0.5,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0.5,
	0,			 0.5,
	0.0,			 0.5,
	0.0L,			 0.5L,
	2,			-1.5,
       -2,			 2.5,
	2.0,			-1.5,
       -2.0,			 2.5,
	2.0L,			-1.5L,
       -2.0L,			 2.5L,
	0x8000000000000000,	-0x8000000000000000.0,
       -0x8000000000000000,	 0x8000000000000000.0,
	1/2,			 0.0,
       -1/2,			 1.0,
	0.5,			 0.0,
       -0.5,			 1.0,
	0.5L,			 0.0L,
       -0.5L,			 1.0L,
	1/2 +3/2 *I,		     -1.5 *I,
       -1/2 -3/2 *I,		 1.0 +1.5 *I,
	0.5 +1.5 *I,		     -1.5 *I,
       -0.5 -1.5 *I,		 1.0 +1.5 *I,
	0.5L+1.5L*I,		     -1.5L*I,
       -0.5L-1.5L*I,		 1.0L+1.5L*I,
        invalid,		 NAN);
binary('-',			-0.5,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			-0.5,
	0,			-0.5,
	0.0,			-0.5,
	0.0L,			-0.5L,
	2,			-2.5,
       -2,			 1.5,
	2.0,			-2.5,
       -2.0,			 1.5,
	2.0L,			-2.5L,
       -2.0L,			 1.5L,
	0x8000000000000000,	-0x8000000000000000.0,
       -0x8000000000000000,	 0x8000000000000000.0,
	1/2,			-1.0,
       -1/2,			 0.0,
	0.5,			-1.0,
       -0.5,			 0.0,
	0.5L,			-1.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		-1.0 -1.5 *I,
       -1/2 -3/2 *I,		      1.5 *I,
	0.5 +1.5 *I,		-1.0 -1.5 *I,
       -0.5 -1.5 *I,		      1.5 *I,
	0.5L+1.5L*I,		-1.0L-1.5L*I,
       -0.5L-1.5L*I,		      1.5L*I,
        invalid,		 NAN);
binary('-',			 0.5L,
	nan,			 nanL,
	inf,			-infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0.5L,
	0,			 0.5L,
	0.0,			 0.5L,
	0.0L,			 0.5L,
	2,			-1.5L,
       -2,			 2.5L,
	2.0,			-1.5L,
       -2.0,			 2.5L,
	2.0L,			-1.5L,
       -2.0L,			 2.5L,
	0x8000000000000000,	-0x8000000000000000L,
       -0x8000000000000000,	 0x8000000000000000L,
	1/2,			 0.0L,
       -1/2,			 1.0L,
	0.5,			 0.0L,
       -0.5,			 1.0L,
	0.5L,			 0.0L,
       -0.5L,			 1.0L,
	1/2 +3/2 *I,		     -1.5L*I,
       -1/2 -3/2 *I,		 1.0L+1.5L*I,
	0.5 +1.5 *I,		     -1.5L*I,
       -0.5 -1.5 *I,		 1.0L+1.5L*I,
	0.5L+1.5L*I,		     -1.5L*I,
       -0.5L-1.5L*I,		 1.0L+1.5L*I,
        invalid,		 NAN);
binary('-',			-0.5L,
	nan,			 nanL,
	inf,			-infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			-0.5L,
	0,			-0.5L,
	0.0,			-0.5L,
	0.0L,			-0.5L,
	2,			-2.5L,
       -2,			 1.5L,
	2.0,			-2.5L,
       -2.0,			 1.5L,
	2.0L,			-2.5L,
       -2.0L,			 1.5L,
	0x8000000000000000,	-0x8000000000000000L,
       -0x8000000000000000,	 0x8000000000000000L,
	1/2,			-1.0L,
       -1/2,			 0.0L,
	0.5,			-1.0L,
       -0.5,			 0.0L,
	0.5L,			-1.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		-1.0L-1.5L*I,
       -1/2 -3/2 *I,		      1.5L*I,
	0.5 +1.5 *I,		-1.0L-1.5L*I,
       -0.5 -1.5 *I,		      1.5L*I,
	0.5L+1.5L*I,		-1.0L-1.5L*I,
       -0.5L-1.5L*I,		      1.5L*I,
        invalid,		 NAN);
binary('-',			 1/2 +3/2 *I,
	nan,			 nan +1.5 *I,
	inf,			-inf +1.5 *I,
       -inf,			 inf +1.5 *I,
	nanL,			 nanL+1.5L*I,
	infL,			-infL+1.5L*I,
       -infL,			 infL+1.5L*I,
	null,			 1/2 +3/2 *I,
	0,			 1/2 +3/2 *I,
	0.0,			 0.5 +1.5 *I,
	0.0L,			 0.5L+1.5L*I,
	2,			-3/2 +3/2 *I,
       -2,			 5/2 +3/2 *I,
	2.0,			-1.5 +1.5 *I,
       -2.0,			 2.5 +1.5 *I,
	2.0L,			-1.5L+1.5L*I,
       -2.0L,			 2.5L+1.5L*I,
	0x8000000000000000,	-0xffffffffffffffff/2 +3/2*I,
       -0x8000000000000000,	 0x10000000000000001/2+3/2*I,
	1/2,			      3/2 *I,
       -1/2,			 1   +3/2 *I,
	0.5,			      1.5 *I,
       -0.5,			 1.0 +1.5 *I,
	0.5L,			      1.5L*I,
       -0.5L,			 1.0L+1.5L*I,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 1   +3   *I,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 1.0 +3.0 *I,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 1.0L+3.0L*I,
        invalid,		 NAN);
binary('-',			-1/2 -3/2 *I,
	nan,			 nan -1.5 *I,
	inf,			-inf -1.5 *I,
       -inf,			 inf -1.5 *I,
	nanL,			 nanL-1.5L*I,
	infL,			-infL-1.5L*I,
       -infL,			 infL-1.5L*I,
	null,			-1/2 -3/2 *I,
	0,			-1/2 -3/2 *I,
	0.0,			-0.5 -1.5 *I,
	0.0L,			-0.5L-1.5L*I,
	2,			-5/2 -3/2 *I,
       -2,			 3/2 -3/2 *I,
	2.0,			-2.5 -1.5 *I,
       -2.0,			 1.5 -1.5 *I,
	2.0L,			-2.5L-1.5L*I,
       -2.0L,			 1.5L-1.5L*I,
	0x8000000000000000,	-0x10000000000000001/2-3/2*I,
       -0x8000000000000000,	 0xffffffffffffffff/2 -3/2*I,
	1/2,			-1   -3/2 *I,
       -1/2,			     -3/2 *I,
	0.5,			-1.0 -1.5 *I,
       -0.5,			     -1.5 *I,
	0.5L,			-1.0L-1.5L*I,
       -0.5L,			     -1.5L*I,
	1/2 +3/2 *I,		-1   -3   *I,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		-1.0 -3.0 *I,
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		-1.0L-3.0L*I,
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('-',			 0.5 +1.5 *I,
	nan,			 nan +1.5 *I,
	inf,			-inf +1.5 *I,
       -inf,			 inf +1.5 *I,
	nanL,			 nanL+1.5L*I,
	infL,			-infL+1.5L*I,
       -infL,			 infL+1.5L*I,
	null,			 0.5 +1.5 *I,
	0,			 0.5 +1.5 *I,
	0.0,			 0.5 +1.5 *I,
	0.0L,			 0.5L+1.5L*I,
	2,			-1.5 +1.5 *I,
       -2,			 2.5 +1.5 *I,
	2.0,			-1.5 +1.5 *I,
       -2.0,			 2.5 +1.5 *I,
	2.0L,			-1.5L+1.5L*I,
       -2.0L,			 2.5L+1.5L*I,
	0x8000000000000000,	-0x8000000000000000.0+1.5*I,
       -0x8000000000000000,	 0x8000000000000000.0+1.5*I,
	1/2,			      1.5 *I,
       -1/2,			 1.0 +1.5 *I,
	0.5,			      1.5 *I,
       -0.5,			 1.0 +1.5 *I,
	0.5L,			      1.5L*I,
       -0.5L,			 1.0L+1.5L*I,
	1/2 +3/2 *I,		 0.0,
       -1/2 -3/2 *I,		 1.0 +3.0 *I,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 1.0 +3.0 *I,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 1.0L+3.0L*I,
        invalid,		 NAN);
binary('-',			-0.5 -1.5 *I,
	nan,			 nan -1.5 *I,
	inf,			-inf -1.5 *I,
       -inf,			 inf -1.5 *I,
	nanL,			 nanL-1.5L*I,
	infL,			-infL-1.5L*I,
       -infL,			 infL-1.5L*I,
	null,			-0.5 -1.5 *I,
	0,			-0.5 -1.5 *I,
	0.0,			-0.5 -1.5 *I,
	0.0L,			-0.5L-1.5L*I,
	2,			-2.5 -1.5 *I,
       -2,			 1.5 -1.5 *I,
	2.0,			-2.5 -1.5 *I,
       -2.0,			 1.5 -1.5 *I,
	2.0L,			-2.5L-1.5L*I,
       -2.0L,			 1.5L-1.5L*I,
	0x8000000000000000,	-0x8000000000000000.0-1.5*I,
       -0x8000000000000000,	 0x8000000000000000.0-1.5*I,
	1/2,			-1.0 -1.5 *I,
       -1/2,			      -1.5 *I,
	0.5,			-1.0 -1.5 *I,
       -0.5,			      -1.5 *I,
	0.5L,			-1.0L-1.5L*I,
       -0.5L,			      -1.5L*I,
	1/2 +3/2 *I,		-1.0 -3.0 *I,
       -1/2 -3/2 *I,		 0.0,
	0.5 +1.5 *I,		-1.0 -3.0 *I,
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		-1.0L-3.0L*I,
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('-',			 0.5L+1.5L*I,
	nan,			 nanL+1.5L*I,
	inf,			-infL+1.5L*I,
       -inf,			 infL+1.5L*I,
	nanL,			 nanL+1.5L*I,
	infL,			-infL+1.5L*I,
       -infL,			 infL+1.5L*I,
	null,			 0.5L+1.5L*I,
	0,			 0.5L+1.5L*I,
	0.0,			 0.5L+1.5L*I,
	0.0L,			 0.5L+1.5L*I,
	2,			-1.5L+1.5L*I,
       -2,			 2.5L+1.5L*I,
	2.0,			-1.5L+1.5L*I,
       -2.0,			 2.5L+1.5L*I,
	2.0L,			-1.5L+1.5L*I,
       -2.0L,			 2.5L+1.5L*I,
	0x8000000000000000,	-0x8000000000000000L+1.5L*I,
       -0x8000000000000000,	 0x8000000000000000L+1.5L*I,
	1/2,			      1.5L*I,
       -1/2,			 1.0L+1.5L*I,
	0.5,			      1.5L*I,
       -0.5,			 1.0L+1.5L*I,
	0.5L,			      1.5L*I,
       -0.5L,			 1.0L+1.5L*I,
	1/2 +3/2 *I,		 0.0L,
       -1/2 -3/2 *I,		 1.0L+3.0L*I,
	0.5 +1.5 *I,		 0.0L,
       -0.5 -1.5 *I,		 1.0L+3.0L*I,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 1.0L+3.0L*I,
        invalid,		 NAN);
binary('-',			-0.5L-1.5L*I,
	nan,			 nanL-1.5L*I,
	inf,			-infL-1.5L*I,
       -inf,			 infL-1.5L*I,
	nanL,			 nanL-1.5L*I,
	infL,			-infL-1.5L*I,
       -infL,			 infL-1.5L*I,
	null,			-0.5L-1.5L*I,
	0,			-0.5L-1.5L*I,
	0.0,			-0.5L-1.5L*I,
	0.0L,			-0.5L-1.5L*I,
	2,			-2.5L-1.5L*I,
       -2,			 1.5L-1.5L*I,
	2.0,			-2.5L-1.5L*I,
       -2.0,			 1.5L-1.5L*I,
	2.0L,			-2.5L-1.5L*I,
       -2.0L,			 1.5L-1.5L*I,
	0x8000000000000000,	-0x8000000000000000L-1.5L*I,
       -0x8000000000000000,	 0x8000000000000000L-1.5L*I,
	1/2,			-1.0L-1.5L*I,
       -1/2,			      -1.5L*I,
	0.5,			-1.0L-1.5L*I,
       -0.5,			      -1.5L*I,
	0.5L,			-1.0L-1.5L*I,
       -0.5L,			      -1.5L*I,
	1/2 +3/2 *I,		-1.0L-3.0L*I,
       -1/2 -3/2 *I,		 0.0L,
	0.5 +1.5 *I,		-1.0L-3.0L*I,
       -0.5 -1.5 *I,		 0.0L,
	0.5L+1.5L*I,		-1.0L-3.0L*I,
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('-',			  invalid,
	null,			 NAN,
	0,			 NAN,
	0.0,			 NAN,
	0.0L,			 NAN,
	2,			 NAN,
	2.0,			 NAN,
	2.0L,			 NAN,
	0x8000000000000000,	 NAN,
	1/2,			 NAN,
	1/2 +3/2 *I,		 NAN,
	0.5 +1.5 *I,		 NAN,
	0.5L+1.5L*I,		 NAN,
        invalid,		 NAN);
binary('*',			 nan,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 nan,
       -2,			 nan,
	2.0,			 nan,
       -2.0,			 nan,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	0x8000000000000000,	 nan,
       -0x8000000000000000,	 nan,
	1/2,			 nan,
       -1/2,			 nan,
	1/2 +3/2 *I,		 complex(nan,  nan),
       -1/2 -3/2 *I,		 complex(nan,  nan),
	0.5 +1.5 *I,		 complex(nan,  nan),
       -0.5 -1.5 *I,		 complex(nan,  nan),
	0.5L+1.5L*I,		 complex(nanL, nanL),
       -0.5L-1.5L*I,		 complex(nanL, nanL),
	 invalid,		 NAN);
binary('*',			 inf,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 inf,
       -2,			-inf,
	2.0,			 inf,
       -2.0,			-inf,
	2.0L,			 infL,
       -2.0L,			-infL,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	-inf,
	1/2,			 inf,
       -1/2,			-inf,
	1/2 +3/2 *I,		 complex( inf,   inf),
       -1/2 -3/2 *I,		 complex(-inf,  -inf),
	0.5 +1.5 *I,		 complex( inf,   inf),
       -0.5 -1.5 *I,		 complex(-inf,  -inf),
	0.5L+1.5L*I,		 complex( infL,  infL),
       -0.5L-1.5L*I,		 complex(-infL, -infL),
	 invalid,		 NAN);
binary('*',			-inf,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	infL,			-infL,
       -infL,			 infL,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			-inf,
       -2,			 inf,
	2.0,			-inf,
       -2.0,			 inf,
	2.0L,			-infL,
       -2.0L,			 infL,
	0x8000000000000000,	-inf,
       -0x8000000000000000,	 inf,
	1/2,			-inf,
       -1/2,			 inf,
	1/2 +3/2 *I,		 complex(-inf,  -inf),
       -1/2 -3/2 *I,		 complex( inf,   inf),
	0.5 +1.5 *I,		 complex(-inf,  -inf),
       -0.5 -1.5 *I,		 complex( inf,   inf),
	0.5L+1.5L*I,		 complex(-infL, -infL),
       -0.5L-1.5L*I,		 complex( infL,  infL),
	 invalid,		 NAN);
binary('*',			 nanL,
	nan,			 nanL,
	inf,			 nanL,
       -inf,			 nanL,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 nanL,
       -2,			 nanL,
	2.0,			 nanL,
       -2.0,			 nanL,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	0x8000000000000000,	 nanL,
       -0x8000000000000000,	 nanL,
	1/2,			 nanL,
       -1/2,			 nanL,
	1/2 +3/2 *I,		 complex(nanL, nanL),
       -1/2 -3/2 *I,		 complex(nanL, nanL),
	0.5 +1.5 *I,		 complex(nanL, nanL),
       -0.5 -1.5 *I,		 complex(nanL, nanL),
	0.5L+1.5L*I,		 complex(nanL, nanL),
       -0.5L-1.5L*I,		 complex(nanL, nanL),
	 invalid,		 NAN);
binary('*',			 infL,
	nan,			 nanL,
	inf,			 infL,
       -inf,			-infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 infL,
       -2,			-infL,
	2.0,			 infL,
       -2.0,			-infL,
	2.0L,			 infL,
       -2.0L,			-infL,
	0x8000000000000000,	 infL,
       -0x8000000000000000,	-infL,
	1/2,			 infL,
       -1/2,			-infL,
	1/2 +3/2 *I,		 complex( infL,  infL),
       -1/2 -3/2 *I,		 complex(-infL, -infL),
	0.5 +1.5 *I,		 complex( infL,  infL),
       -0.5 -1.5 *I,		 complex(-infL, -infL),
	0.5L+1.5L*I,		 complex( infL,  infL),
       -0.5L-1.5L*I,		 complex(-infL, -infL),
	 invalid,		 NAN);
binary('*',			-infL,
	nan,			 nanL,
	inf,			-infL,
       -inf,			 infL,
	infL,			-infL,
       -infL,			 infL,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			-infL,
       -2,			 infL,
	2.0,			-infL,
       -2.0,			 infL,
	2.0L,			-infL,
       -2.0L,			 infL,
	0x8000000000000000,	-infL,
       -0x8000000000000000,	 infL,
	1/2,			-infL,
       -1/2,			 infL,
	1/2 +3/2 *I,		 complex(-infL, -infL),
       -1/2 -3/2 *I,		 complex( infL,  infL),
	0.5 +1.5 *I,		 complex(-infL, -infL),
       -0.5 -1.5 *I,		 complex( infL,  infL),
	0.5L+1.5L*I,		 complex(-infL, -infL),
       -0.5L-1.5L*I,		 complex( infL,  infL),
	 invalid,		 NAN);
binary('*',			 null,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 0,
       -2,			 0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 0.0L,
	 invalid,		 NAN);
binary('*',			 0,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 0,
       -2,			 0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 0.0L,
	 invalid,		 NAN);
binary('*',			 0.0,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 0.0,
       -2,			 0.0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 0.0,
	1/2,			 0.0,
       -1/2,			 0.0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 0.0,
       -1/2 -3/2 *I,		 0.0,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 0.0L,
	 invalid,		 NAN);
binary('*',			 0.0L,
	nan,			 nanL,
	inf,			 nanL,
       -inf,			 nanL,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 0.0L,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			 0.0L,
       -2,			 0.0L,
	2.0,			 0.0L,
       -2.0,			 0.0L,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0.0L,
       -0x8000000000000000,	 0.0L,
	1/2,			 0.0L,
       -1/2,			 0.0L,
	0.5,			 0.0L,
       -0.5,			 0.0L,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 0.0L,
       -1/2 -3/2 *I,		 0.0L,
	0.5 +1.5 *I,		 0.0L,
       -0.5 -1.5 *I,		 0.0L,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 0.0L,
	 invalid,		 NAN);
binary('*',			 2,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 4,
       -2,			-4,
	2.0,			 4.0,
       -2.0,			-4.0,
	2.0L,			 4.0L,
       -2.0L,			-4.0L,
	0x8000000000000000,	 0x10000000000000000,
       -0x8000000000000000,	-0x10000000000000000,
	1/2,			 1,
       -1/2,			-1,
	0.5,			 1.0,
       -0.5,			-1.0,
	0.5L,			 1.0L,
       -0.5L,			-1.0L,
	1/2 +3/2 *I,		 1   +3   *I,
       -1/2 -3/2 *I,		-1   -3   *I,
	0.5 +1.5 *I,		 1.0 +3.0 *I,
       -0.5 -1.5 *I,		-1.0 -3.0 *I,
	0.5L+1.5L*I,		 1.0L+3.0L*I,
       -0.5L-1.5L*I,		-1.0L-3.0L*I,
	 invalid,		 NAN);
binary('*',			-2,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			-0.0L,
	2,			-4,
       -2,			 4,
	2.0,			-4.0,
       -2.0,			 4.0,
	2.0L,			-4.0L,
       -2.0L,			 4.0L,
	0x8000000000000000,	-0x10000000000000000,
       -0x8000000000000000,	 0x10000000000000000,
	1/2,			-1,
       -1/2,			 1,
	0.5,			-1.0,
       -0.5,			 1.0,
	0.5L,			-1.0L,
       -0.5L,			 1.0L,
	1/2 +3/2 *I,		-1   -3   *I,
       -1/2 -3/2 *I,		 1   +3   *I,
	0.5 +1.5 *I,		-1.0 -3.0 *I,
       -0.5 -1.5 *I,		 1.0 +3.0 *I,
	0.5L+1.5L*I,		-1.0L-3.0L*I,
       -0.5L-1.5L*I,		 1.0L+3.0L*I,
	 invalid,		 NAN);
binary('*',			 2.0,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 4.0,
       -2,			-4.0,
	2.0,			 4.0,
       -2.0,			-4.0,
	2.0L,			 4.0L,
       -2.0L,			-4.0L,
	0x8000000000000000,	 0x10000000000000000.0,
       -0x8000000000000000,	-0x10000000000000000.0,
	1/2,			 1.0,
       -1/2,			-1.0,
	0.5,			 1.0,
       -0.5,			-1.0,
	0.5L,			 1.0L,
       -0.5L,			-1.0L,
	1/2 +3/2 *I,		 1.0 +3.0 *I,
       -1/2 -3/2 *I,		-1.0 -3.0 *I,
	0.5 +1.5 *I,		 1.0 +3.0 *I,
       -0.5 -1.5 *I,		-1.0 -3.0 *I,
	0.5L+1.5L*I,		 1.0L+3.0L*I,
       -0.5L-1.5L*I,		-1.0L-3.0L*I,
	 invalid,		 NAN);
binary('*',			-2.0,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			-4.0,
       -2,			 4.0,
	2.0,			-4.0,
       -2.0,			 4.0,
	2.0L,			-4.0L,
       -2.0L,			 4.0L,
	0x8000000000000000,	-0x10000000000000000.0,
       -0x8000000000000000,	 0x10000000000000000.0,
	1/2,			-1.0,
       -1/2,			 1.0,
	0.5,			-1.0,
       -0.5,			 1.0,
	0.5L,			-1.0L,
       -0.5L,			 1.0L,
	1/2 +3/2 *I,		-1.0 -3.0 *I,
       -1/2 -3/2 *I,		 1.0 +3.0 *I,
	0.5 +1.5 *I,		-1.0 -3.0 *I,
       -0.5 -1.5 *I,		 1.0 +3.0 *I,
	0.5L+1.5L*I,		-1.0L-3.0L*I,
       -0.5L-1.5L*I,		 1.0L+3.0L*I,
	 invalid,		 NAN);
binary('*',			 2.0L,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			 4.0L,
       -2,			-4.0L,
	2.0,			 4.0L,
       -2.0,			-4.0L,
	2.0L,			 4.0L,
       -2.0L,			-4.0L,
	0x8000000000000000,	 0x10000000000000000.0L,
       -0x8000000000000000,	-0x10000000000000000.0L,
	1/2,			 1.0L,
       -1/2,			-1.0L,
	0.5,			 1.0L,
       -0.5,			-1.0L,
	0.5L,			 1.0L,
       -0.5L,			-1.0L,
	1/2 +3/2 *I,		 1.0L+3.0L*I,
       -1/2 -3/2 *I,		-1.0L-3.0L*I,
	0.5 +1.5 *I,		 1.0L+3.0L*I,
       -0.5 -1.5 *I,		-1.0L-3.0L*I,
	0.5L+1.5L*I,		 1.0L+3.0L*I,
       -0.5L-1.5L*I,		-1.0L-3.0L*I,
	 invalid,		 NAN);
binary('*',			-2.0L,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0.0L,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			-4.0L,
       -2,			 4.0L,
	2.0,			-4.0L,
       -2.0,			 4.0L,
	2.0L,			-4.0L,
       -2.0L,			 4.0L,
	0x8000000000000000,	-0x10000000000000000.0L,
       -0x8000000000000000,	 0x10000000000000000.0L,
	1/2,			-1.0L,
       -1/2,			 1.0L,
	0.5,			-1.0L,
       -0.5,			 1.0L,
	0.5L,			-1.0L,
       -0.5L,			 1.0L,
	1/2 +3/2 *I,		-1.0L-3.0L*I,
       -1/2 -3/2 *I,		 1.0L+3.0L*I,
	0.5 +1.5 *I,		-1.0L-3.0L*I,
       -0.5 -1.5 *I,		 1.0L+3.0L*I,
	0.5L+1.5L*I,		-1.0L-3.0L*I,
       -0.5L-1.5L*I,		 1.0L+3.0L*I,
	 invalid,		 NAN);
binary('*',			 0x8000000000000000,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 0x10000000000000000,
       -2,			-0x10000000000000000,
	2.0,			 0x10000000000000000.0,
       -2.0,			-0x10000000000000000.0,
	2.0L,			 0x10000000000000000.0L,
       -2.0L,			-0x10000000000000000.0L,
	0x8000000000000000,	 0x40000000000000000000000000000000,
       -0x8000000000000000,	-0x40000000000000000000000000000000,
	1/2,			 0x4000000000000000,
       -1/2,			-0x4000000000000000,
	0.5,			 0x4000000000000000.0,
       -0.5,			-0x4000000000000000.0,
	0.5L,			 0x4000000000000000L,
       -0.5L,			-0x4000000000000000L,
	1/2 +3/2 *I,		 0x4000000000000000  +0xc000000000000000  *I,
       -1/2 -3/2 *I,		-0x4000000000000000 -0xc000000000000000  *I,
	0.5 +1.5 *I,		 0x4000000000000000.0+0xc000000000000000.0*I,
       -0.5 -1.5 *I,		-0x4000000000000000.0-0xc000000000000000.0*I,
	0.5L+1.5L*I,		 0x4000000000000000L +0xc000000000000000L *I,
       -0.5L-1.5L*I,		-0x4000000000000000L -0xc000000000000000L *I,
	 invalid,		 NAN);
binary('*',			-0x8000000000000000,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			-0x10000000000000000,
       -2,			 0x10000000000000000,
	2.0,			-0x10000000000000000.0,
       -2.0,			 0x10000000000000000.0,
	2.0L,			-0x10000000000000000.0L,
       -2.0L,			 0x10000000000000000.0L,
	0x8000000000000000,	-0x40000000000000000000000000000000,
       -0x8000000000000000,	 0x40000000000000000000000000000000,
	1/2,			-0x4000000000000000,
       -1/2,			 0x4000000000000000,
	0.5,			-0x4000000000000000.0,
       -0.5,			 0x4000000000000000.0,
	0.5L,			-0x4000000000000000L,
       -0.5L,			 0x4000000000000000L,
	1/2 +3/2 *I,		-0x4000000000000000 -0xc000000000000000  *I,
       -1/2 -3/2 *I,		 0x4000000000000000  +0xc000000000000000  *I,
	0.5 +1.5 *I,		-0x4000000000000000.0-0xc000000000000000.0*I,
       -0.5 -1.5 *I,		 0x4000000000000000.0+0xc000000000000000.0*I,
	0.5L+1.5L*I,		-0x4000000000000000L -0xc000000000000000L *I,
       -0.5L-1.5L*I,		 0x4000000000000000L +0xc000000000000000L *I,
	 invalid,		 NAN);
binary('*',			 1/2,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 1,
       -2,			-1,
	2.0,			 1.0,
       -2.0,			-1.0,
	2.0L,			 1.0L,
       -2.0L,			-1.0L,
	0x8000000000000000,	 0x4000000000000000,
       -0x8000000000000000,	-0x4000000000000000,
	1/2,			 1/4,
       -1/2,			-1/4,
	0.5,			 0.25,
       -0.5,			-0.25,
	0.5L,			 0.25L,
       -0.5L,			-0.25L,
	1/2 +3/2 *I,		 1/4  +3/4*I,
       -1/2 -3/2 *I,		-1/4 -3/4*I,
	0.5 +1.5 *I,		 0.25 +0.75*I,
       -0.5 -1.5 *I,		-0.25 -0.75*I,
	0.5L+1.5L*I,		 0.25L+0.75L*I,
       -0.5L-1.5L*I,		-0.25L-0.75L*I,
	 invalid,		 NAN);
binary('*',			-1/2,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			-1,
       -2,			 1,
	2.0,			-1.0,
       -2.0,			 1.0,
	2.0L,			-1.0L,
       -2.0L,			 1.0L,
	0x8000000000000000,	-0x4000000000000000,
       -0x8000000000000000,	 0x4000000000000000,
	1/2,			-1/4,
       -1/2,			 1/4,
	0.5,			-0.25,
       -0.5,			 0.25,
	0.5L,			-0.25L,
       -0.5L,			 0.25L,
	1/2 +3/2 *I,		-1/4 -3/4  *I,
       -1/2 -3/2 *I,		 1/4  +3/4  *I,
	0.5 +1.5 *I,		-0.25 -0.75 *I,
       -0.5 -1.5 *I,		 0.25 +0.75 *I,
	0.5L+1.5L*I,		-0.25L-0.75L*I,
       -0.5L-1.5L*I,		 0.25L+0.75L*I,
	 invalid,		 NAN);
binary('*',			 0.5,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	null,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 1.0,
       -2,			-1.0,
	2.0,			 1.0,
       -2.0,			-1.0,
	2.0L,			 1.0L,
       -2.0L,			-1.0L,
	0x8000000000000000,	 0x4000000000000000.0,
       -0x8000000000000000,	-0x4000000000000000.0,
	1/2,			 0.25,
       -1/2,			-0.25,
	0.5,			 0.25,
       -0.5,			-0.25,
	0.5L,			 0.25L,
       -0.5L,			-0.25L,
	1/2 +3/2 *I,		 0.25 +0.75 *I,
       -1/2 -3/2 *I,		-0.25 -0.75 *I,
	0.5 +1.5 *I,		 0.25 +0.75 *I,
       -0.5 -1.5 *I,		-0.25 -0.75 *I,
	0.5L+1.5L*I,		 0.25L+0.75L*I,
       -0.5L-1.5L*I,		-0.25L-0.75L*I,
	 invalid,		 NAN);
binary('*',			-0.5,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			-1.0,
       -2,			 1.0,
	2.0,			-1.0,
       -2.0,			 1.0,
	2.0L,			-1.0L,
       -2.0L,			 1.0L,
	0x8000000000000000,	-0x4000000000000000.0,
       -0x8000000000000000,	 0x4000000000000000.0,
	1/2,			-0.25,
       -1/2,			 0.25,
	0.5,			-0.25,
       -0.5,			 0.25,
	0.5L,			-0.25L,
       -0.5L,			 0.25L,
	1/2 +3/2 *I,		-0.25 -0.75 *I,
       -1/2 -3/2 *I,		 0.25 +0.75 *I,
	0.5 +1.5 *I,		-0.25 -0.75 *I,
       -0.5 -1.5 *I,		 0.25 +0.75 *I,
	0.5L+1.5L*I,		-0.25L-0.75L*I,
       -0.5L-1.5L*I,		 0.25L+0.75L*I,
	 invalid,		 NAN);
binary('*',			 0.5L,
	nan,			 nan,
	inf,			 inf,
       -inf,			-inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			-infL,
	null,			 0.0L,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			 1.0L,
       -2,			-1.0L,
	2.0,			 1.0L,
       -2.0,			-1.0L,
	2.0L,			 1.0L,
       -2.0L,			-1.0L,
	0x8000000000000000,	 0x4000000000000000.0L,
       -0x8000000000000000,	-0x4000000000000000.0L,
	1/2,			 0.25L,
       -1/2,			-0.25L,
	0.5,			 0.25L,
       -0.5,			-0.25L,
	0.5L,			 0.25L,
       -0.5L,			-0.25L,
	1/2 +3/2 *I,		 0.25L+0.75L*I,
       -1/2 -3/2 *I,		-0.25L-0.75L*I,
	0.5 +1.5 *I,		 0.25L+0.75L*I,
       -0.5 -1.5 *I,		-0.25L-0.75L*I,
	0.5L+1.5L*I,		 0.25L+0.75L*I,
       -0.5L-1.5L*I,		-0.25L-0.75L*I,
	 invalid,		 NAN);
binary('*',			-0.5L,
	nan,			 nan,
	inf,			-inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			-infL,
       -infL,			 infL,
	null,			 0.0,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			-1.0L,
       -2,			 1.0L,
	2.0,			-1.0L,
       -2.0,			 1.0L,
	2.0L,			-1.0L,
       -2.0L,			 1.0L,
	0x8000000000000000,	-0x4000000000000000.0L,
       -0x8000000000000000,	 0x4000000000000000.0L,
	1/2,			-0.25L,
       -1/2,			 0.25L,
	0.5,			-0.25L,
       -0.5,			 0.25L,
	0.5L,			-0.25L,
       -0.5L,			 0.25L,
	1/2 +3/2 *I,		-0.25L-0.75L*I,
       -1/2 -3/2 *I,		 0.25L+0.75L*I,
	0.5 +1.5 *I,		-0.25L-0.75L*I,
       -0.5 -1.5 *I,		 0.25L+0.75L*I,
	0.5L+1.5L*I,		-0.25L-0.75L*I,
       -0.5L-1.5L*I,		 0.25L+0.75L*I,
	 invalid,		 NAN);
binary('*',			 1/2+3/2*I,
	nan,			 complex( nan,   nan),
	inf,			 complex( inf,   inf),
       -inf,			 complex(-inf,  -inf),
	nanL,			 complex( nanL,  nanL),
	infL,			 complex( infL,  infL),
       -infL,			 complex(-infL, -infL),
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 1   +3   *I,
       -2,			-1   -3   *I,
	2.0,			 1.0 +3.0 *I,
       -2.0,			-1.0 -3.0 *I,
	2.0L,			 1.0L+3.0L*I,
       -2.0L,			-1.0L-3.0L*I,
	0x8000000000000000,	 0x4000000000000000+0xc000000000000000*I,
       -0x8000000000000000,	-0x4000000000000000-0xc000000000000000*I,
	1/2,			 1/4  +3/4  *I,
       -1/2,			-1/4  -3/4  *I,
	0.5,			 0.25 +0.75 *I,
       -0.5,			-0.25 -0.75 *I,
	0.5L,			 0.25L+0.75L*I,
       -0.5L,			-0.25L-0.75L*I,
	1/2 +3/2 *I,		-2    +3/2  *I,
       -1/2 -3/2 *I,		 2    -3/2  *I,
	0.5 +1.5 *I,		-2.0  +1.5  *I,
       -0.5 -1.5 *I,		 2.0  -1.5  *I,
	0.5L+1.5L*I,		-2.0L +1.5L *I,
       -0.5L-1.5L*I,		 2.0L-1.5L*I,
	 invalid,		 NAN);
binary('*',			-1/2-3/2*I,
	nan,			 complex( nan,   nan),
	inf,			 complex(-inf,  -inf),
       -inf,			 complex( inf,   inf),
	nanL,			 complex( nanL,  nanL),
	infL,			 complex(-infL, -infL),
       -infL,			 complex( infL,  infL),
	null,			 0,
	0,			 0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			-1   -3   *I,
       -2,			 1   +3   *I,
	2.0,			-1.0 -3.0 *I,
       -2.0,			 1.0 +3.0 *I,
	2.0L,			-1.0L-3.0L*I,
       -2.0L,			 1.0L+3.0L*I,
	0x8000000000000000,	-0x4000000000000000-0xc000000000000000*I,
       -0x8000000000000000,	 0x4000000000000000+0xc000000000000000*I,
	1/2,			-1/4  -3/4  *I,
       -1/2,			 1/4  +3/4  *I,
	0.5,			-0.25 -0.75 *I,
       -0.5,			 0.25 +0.75 *I,
	0.5L,			-0.25L-0.75L*I,
       -0.5L,			 0.25L+0.75L*I,
	1/2 +3/2 *I,		 2    -3/2  *I,
       -1/2 -3/2 *I,		-2    +3/2  *I,
	0.5 +1.5 *I,		 2.0  -1.5  *I,
       -0.5 -1.5 *I,		-2.0  +1.5  *I,
	0.5L+1.5L*I,		 2.0L -1.5L *I,
       -0.5L-1.5L*I,		-2.0L +1.5L *I,
	 invalid,		 NAN);
binary('*',			 0.5+1.5*I,
	nan,			 complex( nan,   nan),
	inf,			 complex( inf,   inf),
       -inf,			 complex(-inf,  -inf),
	nanL,			 complex( nanL,  nanL),
	infL,			 complex( infL,  infL),
       -infL,			 complex(-infL, -infL),
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 1.0 +3.0 *I,
       -2,			-1.0 -3.0 *I,
	2.0,			 1.0 +3.0 *I,
       -2.0,			-1.0 -3.0 *I,
	2.0L,			 1.0L+3.0L*I,
       -2.0L,			-1.0L-3.0L*I,
	0x8000000000000000,	 0x4000000000000000.0+0xc000000000000000.0*I,
       -0x8000000000000000,	-0x4000000000000000.0-0xc000000000000000.0*I,
	1/2,			 0.25 +0.75 *I,
       -1/2,			-0.25 -0.75 *I,
	0.5,			 0.25 +0.75 *I,
       -0.5,			-0.25 -0.75 *I,
	0.5L,			 0.25L+0.75L*I,
       -0.5L,			-0.25L-0.75L*I,
	1/2 +3/2 *I,		-2.0  +1.5  *I,
       -1/2 -3/2 *I,		 2.0  -1.5  *I,
	0.5 +1.5 *I,		-2.0  +1.5  *I,
       -0.5 -1.5 *I,		 2.0  -1.5  *I,
	0.5L+1.5L*I,		-2.0L +1.5L *I,
       -0.5L-1.5L*I,		 2.0L -1.5L *I,
	 invalid,		 NAN);
binary('*',			-0.5-1.5*I,
	nan,			 complex( nan,   nan),
	inf,			 complex(-inf,  -inf),
       -inf,			 complex( inf,   inf),
	nanL,			 complex( nanL,  nanL),
	infL,			 complex(-infL, -infL),
       -infL,			 complex( infL,  infL),
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			-1.0 -3.0 *I,
       -2,			 1.0 +3.0 *I,
	2.0,			-1.0 -3.0 *I,
       -2.0,			 1.0 +3.0 *I,
	2.0L,			-1.0L-3.0L*I,
       -2.0L,			 1.0L+3.0L*I,
	0x8000000000000000,	-0x4000000000000000.0-0xc000000000000000.0*I,
       -0x8000000000000000,	 0x4000000000000000.0+0xc000000000000000.0*I,
	1/2,			-0.25 -0.75 *I,
       -1/2,			 0.25 +0.75 *I,
	0.5,			-0.25 -0.75 *I,
       -0.5,			 0.25 +0.75 *I,
	0.5L,			-0.25L-0.75L*I,
       -0.5L,			 0.25L+0.75L*I,
	1/2 +3/2 *I,		 2.0  -1.5  *I,
       -1/2 -3/2 *I,		-2.0  +1.5  *I,
	0.5 +1.5 *I,		 2.0  -1.5  *I,
       -0.5 -1.5 *I,		-2.0  +1.5  *I,
	0.5L+1.5L*I,		 2.0L -1.5L *I,
       -0.5L-1.5L*I,		-2.0L +1.5L *I,
	 invalid,		 NAN);
binary('*',			 0.5L+1.5L*I,
	nan,			 complex( nanL,  nanL),
	inf,			 complex( infL,  infL),
       -inf,			 complex(-infL, -infL),
	nanL,			 complex( nanL,  nanL),
	infL,			 complex( infL,  infL),
       -infL,			 complex(-infL, -infL),
	null,			 0.0L,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			 1.0L+3.0L*I,
       -2,			-1.0L-3.0L*I,
	2.0,			 1.0L+3.0L*I,
       -2.0,			-1.0L-3.0L*I,
	2.0L,			 1.0L+3.0L*I,
       -2.0L,			-1.0L-3.0L*I,
	0x8000000000000000,	 0x4000000000000000.0L+0xc000000000000000.0L*I,
       -0x8000000000000000,	-0x4000000000000000.0L-0xc000000000000000.0L*I,
	1/2,			 0.25L+0.75L*I,
       -1/2,			-0.25L-0.75L*I,
	0.5,			 0.25L+0.75L*I,
       -0.5,			-0.25L-0.75L*I,
	0.5L,			 0.25L+0.75L*I,
       -0.5L,			-0.25L-0.75L*I,
	1/2 +3/2 *I,		-2.0L +1.5L *I,
       -1/2 -3/2 *I,		 2.0L -1.5L *I,
	0.5 +1.5 *I,		-2.0L +1.5L *I,
       -0.5 -1.5 *I,		 2.0L -1.5L *I,
	0.5L+1.5L*I,		-2.0L +1.5L *I,
       -0.5L-1.5L*I,		 2.0L -1.5L *I,
	 invalid,		 NAN);
binary('*',			-0.5L-1.5L*I,
	nan,			 complex( nanL,  nanL),
	inf,			 complex(-infL, -infL),
       -inf,			 complex( infL,  infL),
	nanL,			 complex( nanL,  nanL),
	infL,			 complex(-infL, -infL),
       -infL,			 complex( infL,  infL),
	null,			 0.0L,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			-1.0L-3.0L*I,
       -2,			 1.0L+3.0L*I,
	2.0,			-1.0L-3.0L*I,
       -2.0,			 1.0L+3.0L*I,
	2.0L,			-1.0L-3.0L*I,
       -2.0L,			 1.0L+3.0L*I,
	0x8000000000000000,	-0x4000000000000000.0L-0xc000000000000000.0L*I,
       -0x8000000000000000,	 0x4000000000000000.0L+0xc000000000000000.0L*I,
	1/2,			-0.25L-0.75L*I,
       -1/2,			 0.25L+0.75L*I,
	0.5,			-0.25L-0.75L*I,
       -0.5,			 0.25L+0.75L*I,
	0.5L,			-0.25L-0.75L*I,
       -0.5L,			 0.25L+0.75L*I,
	1/2 +3/2 *I,		 2.0L -1.5L *I,
       -1/2 -3/2 *I,		-2.0L +1.5L *I,
	0.5 +1.5 *I,		 2.0L -1.5L *I,
       -0.5 -1.5 *I,		-2.0L +1.5L *I,
	0.5L+1.5L*I,		 2.0L -1.5L *I,
       -0.5L-1.5L*I,		-2.0L +1.5L *I,
	 invalid,		 NAN);
binary('*',			 invalid,
	null,			 NAN,
	0,			 NAN,
	0.0,			 NAN,
	0.0L,			 NAN,
	2,			 NAN,
	2.0,			 NAN,
	2.0L,			 NAN,
	0x8000000000000000,	 NAN,
	1/2,			 NAN,
	0.5,			 NAN,
	0.5L,			 NAN,
	1/2 +3/2 *I,		 NAN,
	0.5 +1.5 *I,		 NAN,
	0.5L+1.5L*I,		 NAN,
        invalid,		 NAN);
binary('/',			 nan,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 nan,
       -2,			 nan,
	2.0,			 nan,
       -2.0,			 nan,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	0x8000000000000000,	 nan,
       -0x8000000000000000,	 nan,
	1/2,			 nan,
       -1/2,			 nan,
	0.5,			 nan,
       -0.5,			 nan,
	0.5L,			 nanL,
       -0.5L,			 nanL,
	1/2 +3/2 *I,		 complex(nan,  nan),
       -1/2 -3/2 *I,		 complex(nan,  nan),
	0.5 +1.5 *I,		 complex(nan,  nan),
       -0.5 -1.5 *I,		 complex(nan,  nan),
	0.5L+1.5L*I,		 complex(nanL, nanL),
       -0.5L-1.5L*I,		 complex(nanL, nanL),
        invalid,		 NAN);
binary('/',			 inf,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 infL,
	2,			 inf,
       -2,			-inf,
	2.0,			 inf,
       -2.0,			-inf,
	2.0L,			 infL,
       -2.0L,			-infL,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	-inf,
	1/2,			 inf,
       -1/2,			-inf,
	0.5,			 inf,
       -0.5,			-inf,
	0.5L,			 infL,
       -0.5L,			-infL,
	1/2 +3/2 *I,		 complex( inf,  -inf),
       -1/2 -3/2 *I,		 complex(-inf,   inf),
	0.5 +1.5 *I,		 complex( inf,  -inf),
       -0.5 -1.5 *I,		 complex(-inf,   inf),
	0.5L+1.5L*I,		 complex( infL, -infL),
       -0.5L-1.5L*I,		 complex(-infL,  infL),
        invalid,		 NAN);
binary('/',			-inf,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			-inf,
	0,			-inf,
	0.0,			-inf,
	0.0L,			-infL,
	2,			-inf,
       -2,			 inf,
	2.0,			-inf,
       -2.0,			 inf,
	2.0L,			-infL,
       -2.0L,			 infL,
	0x8000000000000000,	-inf,
       -0x8000000000000000,	 inf,
	1/2,			-inf,
       -1/2,			 inf,
	0.5,			-inf,
       -0.5,			 inf,
	0.5L,			-infL,
       -0.5L,			 infL,
	1/2 +3/2 *I,		 complex(-inf,   inf),
       -1/2 -3/2 *I,		 complex( inf,  -inf),
	0.5 +1.5 *I,		 complex(-inf,   inf),
       -0.5 -1.5 *I,		 complex( inf,  -inf),
	0.5L+1.5L*I,		 complex(-infL,  infL),
       -0.5L-1.5L*I,		 complex( infL, -infL),
        invalid,		 NAN);
binary('/',			 nanL,
	nan,			 nanL,
	inf,			 nanL,
       -inf,			 nanL,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 nanL,
       -2,			 nanL,
	2.0,			 nanL,
       -2.0,			 nanL,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	0x8000000000000000,	 nanL,
       -0x8000000000000000,	 nanL,
	1/2,			 nanL,
       -1/2,			 nanL,
	0.5,			 nanL,
       -0.5,			 nanL,
	0.5L,			 nanL,
       -0.5L,			 nanL,
	1/2 +3/2 *I,		 complex(nanL, nanL),
       -1/2 -3/2 *I,		 complex(nanL, nanL),
	0.5 +1.5 *I,		 complex(nanL, nanL),
       -0.5 -1.5 *I,		 complex(nanL, nanL),
	0.5L+1.5L*I,		 complex(nanL, nanL),
       -0.5L-1.5L*I,		 complex(nanL, nanL),
        invalid,		 NAN);
binary('/',			 infL,
	nan,			 nanL,
	inf,			 nanL,
       -inf,			 nanL,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 infL,
	0,			 infL,
	0.0,			 infL,
	0.0L,			 infL,
	2,			 infL,
       -2,			-infL,
	2.0,			 infL,
       -2.0,			-infL,
	2.0L,			 infL,
       -2.0L,			-infL,
	0x8000000000000000,	 infL,
       -0x8000000000000000,	-infL,
	1/2,			 infL,
       -1/2,			-infL,
	0.5,			 infL,
       -0.5,			-infL,
	0.5L,			 infL,
       -0.5L,			-infL,
	1/2 +3/2 *I,		 complex( infL, -infL),
       -1/2 -3/2 *I,		 complex(-infL,  infL),
	0.5 +1.5 *I,		 complex( infL, -infL),
       -0.5 -1.5 *I,		 complex(-infL,  infL),
	0.5L+1.5L*I,		 complex( infL, -infL),
       -0.5L-1.5L*I,		 complex(-infL,  infL),
        invalid,		 NAN);
binary('/',			-infL,
	nan,			 nanL,
	inf,			 nanL,
       -inf,			 nanL,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			-infL,
	0,			-infL,
	0.0,			-infL,
	0.0L,			-infL,
	2,			-infL,
       -2,			 infL,
	2.0,			-infL,
       -2.0,			 infL,
	2.0L,			-infL,
       -2.0L,			 infL,
	0x8000000000000000,	-infL,
       -0x8000000000000000,	 infL,
	1/2,			-infL,
       -1/2,			 infL,
	0.5,			-infL,
       -0.5,			 infL,
	0.5L,			-infL,
       -0.5L,			 infL,
	1/2 +3/2 *I,		 complex(-infL,  infL),
       -1/2 -3/2 *I,		 complex( infL, -infL),
	0.5 +1.5 *I,		 complex(-infL,  infL),
       -0.5 -1.5 *I,		 complex( infL,-infL),
	0.5L+1.5L*I,		 complex(-infL,  infL),
       -0.5L-1.5L*I,		 complex( infL, -infL),
        invalid,		 NAN);
binary('/',			 null,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 0,
       -2,			 0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('/',			 0,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 0,
       -2,			 0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 0,
       -1/2 -3/2 *I,		 0,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('/',			 0.0,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 0.0,
       -2,			 0.0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 0.0,
	1/2,			 0.0,
       -1/2,			 0.0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 0.0,
       -1/2 -3/2 *I,		 0.0,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('/',			 0.0L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 0.0L,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 0.0L,
       -2,			 0.0L,
	2.0,			 0.0L,
       -2.0,			 0.0L,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 0.0L,
       -0x8000000000000000,	 0.0L,
	1/2,			 0.0L,
       -1/2,			 0.0L,
	0.5,			 0.0L,
       -0.5,			 0.0L,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 0.0L,
       -1/2 -3/2 *I,		 0.0L,
	0.5 +1.5 *I,		 0.0L,
       -0.5 -1.5 *I,		 0.0L,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('/',			 2,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 1,
       -2,			-1,
	2.0,			 1.0,
       -2.0,			-1.0,
	2.0L,			 1.0L,
       -2.0L,			-1.0L,
	0x8000000000000000,	 1/0x4000000000000000,
       -0x8000000000000000,	-1/0x4000000000000000,
	1/2,			 4,
       -1/2,			-4,
	0.5,			 4.0,
       -0.5,			-4.0,
	0.5L,			 4.0L,
       -0.5L,			-4.0L,
	1/2 +3/2 *I,		 2/5 -6/5 *I,
       -1/2 -3/2 *I,		-2/5 +6/5 *I,
	0.5 +1.5 *I,		 0.4 -1.2 *I,
       -0.5 -1.5 *I,		-0.4 +1.2 *I,
	0.5L+1.5L*I,		 0.4L-1.2L*I,
       -0.5L-1.5L*I,		-0.4L+1.2L*I,
        invalid,		 NAN);
binary('/',			-2,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			-inf,
	0.0L,			-inf,
	2,			-1,
       -2,			 1,
	2.0,			-1.0,
       -2.0,			 1.0,
	2.0L,			-1.0L,
       -2.0L,			 1.0L,
	0x8000000000000000,	-1/0x4000000000000000,
       -0x8000000000000000,	 1/0x4000000000000000,
	1/2,			-4,
       -1/2,			 4,
	0.5,			-4.0,
       -0.5,			 4.0,
	0.5L,			-4.0L,
       -0.5L,			 4.0L,
	1/2 +3/2 *I,		-2/5 +6/5 *I,
       -1/2 -3/2 *I,		 2/5 -6/5 *I,
	0.5 +1.5 *I,		-0.4 +1.2 *I,
       -0.5 -1.5 *I,		 0.4 -1.2 *I,
	0.5L+1.5L*I,		-0.4L+1.2L*I,
       -0.5L-1.5L*I,		 0.4L-1.2L*I,
        invalid,		 NAN);
binary('/',			 2.0,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 1.0,
       -2,			-1.0,
	2.0,			 1.0,
       -2.0,			-1.0,
	2.0L,			 1.0L,
       -2.0L,			-1.0L,
	0x8000000000000000,	 1/0x4000000000000000.0,
       -0x8000000000000000,	-1/0x4000000000000000.0,
	1/2,			 4.0,
       -1/2,			-4.0,
	0.5,			 4.0,
       -0.5,			-4.0,
	0.5L,			 4.0L,
       -0.5L,			-4.0L,
	1/2 +3/2 *I,		 0.4 -1.2 *I,
       -1/2 -3/2 *I,		-0.4 +1.2 *I,
	0.5 +1.5 *I,		 0.4 -1.2 *I,
       -0.5 -1.5 *I,		-0.4 +1.2 *I,
	0.5L+1.5L*I,		 0.4L-1.2L*I,
       -0.5L-1.5L*I,		-0.4L+1.2L*I,
        invalid,		 NAN);
binary('/',			-2.0,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			-inf,
	0,			-inf,
	0.0,			-inf,
	0.0L,			-inf,
	2,			-1.0,
       -2,			 1.0,
	2.0,			-1.0,
       -2.0,			 1.0,
	2.0L,			-1.0L,
       -2.0L,			 1.0L,
	0x8000000000000000,	-1/0x4000000000000000.0,
       -0x8000000000000000,	 1/0x4000000000000000.0,
	1/2,			-4.0,
       -1/2,			 4.0,
	0.5,			-4.0,
       -0.5,			 4.0,
	0.5L,			-4.0L,
       -0.5L,			 4.0L,
	1/2 +3/2 *I,		-0.4 +1.2 *I,
       -1/2 -3/2 *I,		 0.4 -1.2 *I,
	0.5 +1.5 *I,		-0.4 +1.2 *I,
       -0.5 -1.5 *I,		 0.4 -1.2 *I,
	0.5L+1.5L*I,		-0.4L+1.2L*I,
       -0.5L-1.5L*I,		 0.4L-1.2L*I,
        invalid,		 NAN);
binary('/',			 2.0L,
	nan,			 nan,
	inf,			 0.0L,
       -inf,			 0.0L,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 1.0L,
       -2,			-1.0L,
	2.0,			 1.0L,
       -2.0,			-1.0L,
	2.0L,			 1.0L,
       -2.0L,			-1.0L,
	0x8000000000000000,	 1/0x4000000000000000.0L,
       -0x8000000000000000,	-1/0x4000000000000000.0L,
	1/2,			 4.0L,
       -1/2,			-4.0L,
	0.5,			 4.0L,
       -0.5,			-4.0L,
	0.5L,			 4.0L,
       -0.5L,			-4.0L,
	1/2 +3/2 *I,		 0.4L-1.2L*I,
       -1/2 -3/2 *I,		-0.4L+1.2L*I,
	0.5 +1.5 *I,		 0.4L-1.2L*I,
       -0.5 -1.5 *I,		-0.4L+1.2L*I,
	0.5L+1.5L*I,		 0.4L-1.2L*I,
       -0.5L-1.5L*I,		-0.4L+1.2L*I,
        invalid,		 NAN);
binary('/',			-2.0L,
	nan,			 nan,
	inf,			 0.0L,
       -inf,			 0.0L,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			-inf,
	0,			-inf,
	0.0,			-inf,
	0.0L,			-inf,
	2,			-1.0L,
       -2,			 1.0L,
	2.0,			-1.0L,
       -2.0,			 1.0L,
	2.0L,			-1.0L,
       -2.0L,			 1.0L,
	0x8000000000000000,	-1/0x4000000000000000.0L,
       -0x8000000000000000,	 1/0x4000000000000000.0L,
	1/2,			-4.0L,
       -1/2,			 4.0L,
	0.5,			-4.0L,
       -0.5,			 4.0L,
	0.5L,			-4.0L,
       -0.5L,			 4.0L,
	1/2 +3/2 *I,		-0.4L+1.2L*I,
       -1/2 -3/2 *I,		 0.4L-1.2L*I,
	0.5 +1.5 *I,		-0.4L+1.2L*I,
       -0.5 -1.5 *I,		 0.4L-1.2L*I,
	0.5L+1.5L*I,		-0.4L+1.2L*I,
       -0.5L-1.5L*I,		 0.4L-1.2L*I,
        invalid,		 NAN);
binary('/',			 0x8000000000000000,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 0x4000000000000000,
       -2,			-0x4000000000000000,
	2.0,			 0x4000000000000000.0,
       -2.0,			-0x4000000000000000.0,
	2.0L,			 0x4000000000000000.0L,
       -2.0L,			-0x4000000000000000.0L,
	0x8000000000000000,	 1,
       -0x8000000000000000,	-1,
	1/2,			 0x10000000000000000,
       -1/2,			-0x10000000000000000,
	0.5,			 0x10000000000000000.0,
       -0.5,			-0x10000000000000000.0,
	0.5L,			 0x10000000000000000.0L,
       -0.5L,			-0x10000000000000000.0L,
	1/2 +3/2 *I,		 0x8000000000000000/5 -0x18000000000000000/5*I,
       -1/2 -3/2 *I,		-0x8000000000000000/5 +0x18000000000000000/5*I,
	0.5 +1.5 *I,		 0x1999999999999a00.0 -0x4ccccccccccccc00.0 *I,
       -0.5 -1.5 *I,		-0x1999999999999a00.0 +0x4ccccccccccccc00.0 *I,
	0.5L+1.5L*I,		 0x1999999999999a00.0L-0x4ccccccccccccc00.0L*I,
       -0.5L-1.5L*I,		-0x1999999999999a00.0L+0x4ccccccccccccc00.0L*I,
        invalid,		 NAN);
binary('/',			-0x8000000000000000,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			-inf,
	0.0L,			-inf,
	2,			-0x4000000000000000,
       -2,			 0x4000000000000000,
	2.0,			-0x4000000000000000.0,
       -2.0,			 0x4000000000000000.0,
	2.0L,			-0x4000000000000000.0L,
       -2.0L,			 0x4000000000000000.0L,
	0x8000000000000000,	-1,
       -0x8000000000000000,	 1,
	1/2,			-0x10000000000000000,
       -1/2,			 0x10000000000000000,
	0.5,			-0x10000000000000000.0,
       -0.5,			 0x10000000000000000.0,
	0.5L,			-0x10000000000000000.0L,
       -0.5L,			 0x10000000000000000.0L,
	1/2 +3/2 *I,		-0x8000000000000000/5 +0x18000000000000000/5*I,
       -1/2 -3/2 *I,		 0x8000000000000000/5 -0x18000000000000000/5*I,
	0.5 +1.5 *I,		-0x1999999999999a00.0 +0x4ccccccccccccc00.0 *I,
       -0.5 -1.5 *I,		 0x1999999999999a00.0 -0x4ccccccccccccc00.0 *I,
	0.5L+1.5L*I,		-0x1999999999999a00.0L+0x4ccccccccccccc00.0L*I,
       -0.5L-1.5L*I,		 0x1999999999999a00.0L-0x4ccccccccccccc00.0L*I,
        invalid,		 NAN);
binary('/',			 1/2,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 1/4,
       -2,			-1/4,
	2.0,			 0.25,
       -2.0,			-0.25,
	2.0L,			 0.25L,
       -2.0L,			-0.25L,
	0x8000000000000000,	 1/0x10000000000000000,
       -0x8000000000000000,	-1/0x10000000000000000,
	1/2,			 1,
       -1/2,			-1,
	0.5,			 1.0,
       -0.5,			-1.0,
	0.5L,			 1.0L,
       -0.5L,			-1.0L,
	1/2 +3/2 *I,		 1/10		    -3/10		  *I,
       -1/2 -3/2 *I,		-1/10		     +3/10		  *I,
	0.5 +1.5 *I,		 0.10000000000000001 -0.29999999999999999 *I,
       -0.5 -1.5 *I,		-0.10000000000000001 +0.29999999999999999 *I,
	0.5L+1.5L*I,		 0.10000000000000001L-0.29999999999999999L*I,
       -0.5L-1.5L*I,		-0.10000000000000001L+0.29999999999999999L*I,
        invalid,		 NAN);
binary('/',			-1/2,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			-inf,
	0.0L,			-inf,
	2,			-1/4,
       -2,			 1/4,
	2.0,			-0.25,
       -2.0,			 0.25,
	2.0L,			-0.25L,
       -2.0L,			 0.25L,
	0x8000000000000000,	-1/0x10000000000000000,
       -0x8000000000000000,	 1/0x10000000000000000,
	1/2,			-1,
       -1/2,			 1,
	0.5,			-1.0,
       -0.5,			 1.0,
	0.5L,			-1.0L,
       -0.5L,			 1.0L,
	1/2 +3/2 *I,		-1/10		     +3/10		  *I,
       -1/2 -3/2 *I,		 1/10		     -3/10		  *I,
	0.5 +1.5 *I,		-0.10000000000000001 +0.29999999999999999 *I,
       -0.5 -1.5 *I,		 0.10000000000000001 -0.29999999999999999 *I,
	0.5L+1.5L*I,		-0.10000000000000001L+0.29999999999999999L*I,
       -0.5L-1.5L*I,		 0.10000000000000001L-0.29999999999999999L*I,
        invalid,		 NAN);
binary('/',			 0.5,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 0.25,
       -2,			-0.25,
	2.0,			 0.25,
       -2.0,			-0.25,
	2.0L,			 0.25L,
       -2.0L,			-0.25L,
	0x8000000000000000,	 0.00000000000000000005,
       -0x8000000000000000,	-0.00000000000000000005,
	1/2,			 1.0,
       -1/2,			-1.0,
	0.5,			 1.0,
       -0.5,			-1.0,
	0.5L,			 1.0L,
       -0.5L,			-1.0L,
	1/2 +3/2 *I,		 0.10000000000000001 -0.29999999999999999 *I,
       -1/2 -3/2 *I,		-0.10000000000000001 +0.29999999999999999 *I,
	0.5 +1.5 *I,		 0.10000000000000001 -0.29999999999999999 *I,
       -0.5 -1.5 *I,		-0.10000000000000001 +0.29999999999999999 *I,
	0.5L+1.5L*I,		 0.10000000000000001L-0.29999999999999999L*I,
       -0.5L-1.5L*I,		-0.10000000000000001L+0.29999999999999999L*I,
        invalid,		 NAN);
binary('/',			-0.5,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			-inf,
	0,			-inf,
	0.0,			-inf,
	0.0L,			-inf,
	2,			-0.25,
       -2,			 0.25,
	2.0,			-0.25,
       -2.0,			 0.25,
	2.0L,			-0.25L,
       -2.0L,			 0.25L,
	0x8000000000000000,	-0.00000000000000000005,
       -0x8000000000000000,	 0.00000000000000000005,
	1/2,			-1.0,
       -1/2,			 1.0,
	0.5,			-1.0,
       -0.5,			 1.0,
	0.5L,			-1.0L,
       -0.5L,			 1.0L,
	1/2 +3/2 *I,		-0.10000000000000001 +0.29999999999999999 *I,
       -1/2 -3/2 *I,		 0.10000000000000001 -0.29999999999999999 *I,
	0.5 +1.5 *I,		-0.10000000000000001 +0.29999999999999999 *I,
       -0.5 -1.5 *I,		 0.10000000000000001 -0.29999999999999999 *I,
	0.5L+1.5L*I,		-0.10000000000000001L+0.29999999999999999L*I,
       -0.5L-1.5L*I,		 0.10000000000000001L-0.29999999999999999L*I,
        invalid,		 NAN);
binary('/',			 0.5L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 0.0L,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 infL,
	0,			 infL,
	0.0,			 infL,
	0.0L,			 infL,
	2,			 0.25L,
       -2,			-0.25L,
	2.0,			 0.25L,
       -2.0,			-0.25L,
	2.0L,			 0.25L,
       -2.0L,			-0.25L,
	0x8000000000000000,	 0.00000000000000000005L,
       -0x8000000000000000,	-0.00000000000000000005L,
	1/2,			 1.0L,
       -1/2,			-1.0L,
	0.5,			 1.0L,
       -0.5,			-1.0L,
	0.5L,			 1.0L,
       -0.5L,			-1.0L,
	1/2 +3/2 *I,		 0.10000000000000001L-0.29999999999999999L*I,
       -1/2 -3/2 *I,		-0.10000000000000001L+0.29999999999999999L*I,
	0.5 +1.5 *I,		 0.10000000000000001L-0.29999999999999999L*I,
       -0.5 -1.5 *I,		-0.10000000000000001L+0.29999999999999999L*I,
	0.5L+1.5L*I,		 0.10000000000000001L-0.29999999999999999L*I,
       -0.5L-1.5L*I,		-0.10000000000000001L+0.29999999999999999L*I,
        invalid,		 NAN);
binary('/',			-0.5L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 0.0L,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			-infL,
	0,			-infL,
	0.0,			-infL,
	0.0L,			-infL,
	2,			-0.25L,
       -2,			 0.25L,
	2.0,			-0.25L,
       -2.0,			 0.25L,
	2.0L,			-0.25L,
       -2.0L,			 0.25L,
	0x8000000000000000,	-0.00000000000000000005L,
       -0x8000000000000000,	 0.00000000000000000005L,
	1/2,			-1.0L,
       -1/2,			 1.0L,
	0.5,			-1.0L,
       -0.5,			 1.0L,
	0.5L,			-1.0L,
       -0.5L,			 1.0L,
	1/2 +3/2 *I,		-0.10000000000000001L+0.29999999999999999L*I,
       -1/2 -3/2 *I,		 0.10000000000000001L-0.29999999999999999L*I,
	0.5 +1.5 *I,		-0.10000000000000001L+0.29999999999999999L*I,
       -0.5 -1.5 *I,		 0.10000000000000001L-0.29999999999999999L*I,
	0.5L+1.5L*I,		-0.10000000000000001L+0.29999999999999999L*I,
       -0.5L-1.5L*I,		 0.10000000000000001L-0.29999999999999999L*I,
        invalid,		 NAN);
binary('/',			 1/2+3/2*I,
	nan,			 complex( nan, nan),
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 complex(nanL, nanL),
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 complex(inf, inf),
	0.0L,			 complex(inf, inf),
	2,			 1/4  +3/4  *I,
       -2,			-1/4  -3/4  *I,
	2.0,			 0.25 +0.75 *I,
       -2.0,			-0.25 -0.75 *I,
	2.0L,			 0.25L+0.75L*I,
       -2.0L,			-0.25L-0.75L*I,
	0x8000000000000000,	 1/0x10000000000000000+3/0x10000000000000000*I,
       -0x8000000000000000,	-1/0x10000000000000000-3/0x10000000000000000*I,
	1/2,			 1   +3   *I,
       -1/2,			-1   -3   *I,
	0.5,			 1.0 +3.0 *I,
       -0.5,			-1.0 -3.0 *I,
	0.5L,			 1.0L+3.0L*I,
       -0.5L,			-1.0L-3.0L*I,
	1/2 +3/2 *I,		 1,
       -1/2 -3/2 *I,		-1,
	0.5 +1.5 *I,		 1.0,
       -0.5 -1.5 *I,		-1.0,
	0.5L+1.5L*I,		 1.0L,
       -0.5L-1.5L*I,		-1.0L,
        invalid,		 NAN);
binary('/',			-1/2-3/2*I,
	nan,			 complex( nan, nan),
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 complex(nanL, nanL),
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 complex(-inf, -inf),
	0.0L,			 complex(-inf, -inf),
	2,			-1/4  -3/4  *I,
       -2,			 1/4  +3/4  *I,
	2.0,			-0.25 -0.75 *I,
       -2.0,			 0.25 +0.75 *I,
	2.0L,			-0.25L-0.75L*I,
       -2.0L,			 0.25L+0.75L*I,
	0x8000000000000000,	-1/0x10000000000000000.0-3/0x10000000000000000.0*I,
       -0x8000000000000000,	 1/0x10000000000000000.0+3/0x10000000000000000.0*I,
	1/2,			-1   -3   *I,
       -1/2,			 1   +3   *I,
	0.5,			-1.0 -3.0 *I,
       -0.5,			 1.0 +3.0 *I,
	0.5L,			-1.0L-3.0L*I,
       -0.5L,			 1.0L+3.0L*I,
	1/2 +3/2 *I,		-1,
       -1/2 -3/2 *I,		 1,
	0.5 +1.5 *I,		-1.0,
       -0.5 -1.5 *I,		 1.0,
	0.5L+1.5L*I,		-1.0L,
       -0.5L-1.5L*I,		 1.0L,
        invalid,		 NAN);
binary('/',			 0.5+1.5*I,
	nan,			 complex( nan, nan),
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 complex(nanL, nanL),
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 complex(inf, inf),
	0,			 complex(inf, inf),
	0.0,			 complex(inf, inf),
	0.0L,			 complex(inf, inf),
	2,			 0.25 +0.75 *I,
       -2,			-0.25 -0.75 *I,
	2.0,			 0.25 +0.75 *I,
       -2.0,			-0.25 -0.75 *I,
	2.0L,			 0.25L+0.75L*I,
       -2.0L,			-0.25L-0.75L*I,
	0x8000000000000000,	 1/0x10000000000000000.0+3/0x10000000000000000.0*I,
       -0x8000000000000000,	-1/0x10000000000000000.0-3/0x10000000000000000.0*I,
	1/2,			 1.0 +3.0 *I,
       -1/2,			-1.0 -3.0 *I,
	0.5,			 1.0 +3.0 *I,
       -0.5,			-1.0 -3.0 *I,
	0.5L,			 1.0L+3.0L*I,
       -0.5L,			-1.0L-3.0L*I,
	1/2 +3/2 *I,		 1.0,
       -1/2 -3/2 *I,		-1.0,
	0.5 +1.5 *I,		 1.0,
       -0.5 -1.5 *I,		-1.0,
	0.5L+1.5L*I,		 1.0L,
       -0.5L-1.5L*I,		-1.0L,
        invalid,		 NAN);
binary('/',			-0.5-1.5*I,
	nan,			 complex( nan,  nan),
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 complex(nanL, nanL),
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 complex(-inf, -inf),
	0,			 complex(-inf, -inf),
	0.0,			 complex(-inf, -inf),
	0.0L,			 complex(-inf, -inf),
	2,			-0.25 -0.75 *I,
       -2,			 0.25 +0.75 *I,
	2.0,			-0.25 -0.75 *I,
       -2.0,			 0.25 +0.75 *I,
	2.0L,			-0.25L-0.75L*I,
       -2.0L,			 0.25L+0.75L*I,
	0x8000000000000000,	-1/0x10000000000000000.0-3/0x10000000000000000.0*I,
       -0x8000000000000000,	 1/0x10000000000000000.0+3/0x10000000000000000.0*I,
	1/2,			-1.0 -3.0 *I,
       -1/2,			 1.0 +3.0 *I,
	0.5,			-1.0 -3.0 *I,
       -0.5,			 1.0 +3.0 *I,
	0.5L,			-1.0L-3.0L*I,
       -0.5L,			 1.0L+3.0L*I,
	1/2 +3/2 *I,		-1.0,
       -1/2 -3/2 *I,		 1.0,
	0.5 +1.5 *I,		-1.0,
       -0.5 -1.5 *I,		 1.0,
	0.5L+1.5L*I,		-1.0L,
       -0.5L-1.5L*I,		 1.0L,
        invalid,		 NAN);
binary('/',			 0.5L+1.5L*I,
	nan,			 complex(nanL, nanL),
	inf,			 0.0L,
       -inf,			 0.0L,
	nanL,			 complex(nanL, nanL),
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 complex(infL, infL),
	0,			 complex(infL, infL),
	0.0,			 complex(infL, infL),
	0.0L,			 complex(infL, infL),
	2,			 0.25L+0.75L*I,
       -2,			-0.25L-0.75L*I,
	2.0,			 0.25L+0.75L*I,
       -2.0,			-0.25L-0.75L*I,
	2.0L,			 0.25L+0.75L*I,
       -2.0L,			-0.25L-0.75L*I,
	0x8000000000000000,	 1/0x10000000000000000.0L+3/0x10000000000000000.0L*I,
       -0x8000000000000000,	-1/0x10000000000000000.0L-3/0x10000000000000000.0L*I,
	1/2,			 1.0L+3.0L*I,
       -1/2,			-1.0L-3.0L*I,
	0.5,			 1.0L+3.0L*I,
       -0.5,			-1.0L-3.0L*I,
	0.5L,			 1.0L+3.0L*I,
       -0.5L,			-1.0L-3.0L*I,
	1/2 +3/2 *I,		 1.0L,
       -1/2 -3/2 *I,		-1.0L,
	0.5 +1.5 *I,		 1.0L,
       -0.5 -1.5 *I,		-1.0L,
	0.5L+1.5L*I,		 1.0L,
       -0.5L-1.5L*I,		-1.0L,
        invalid,		 NAN);
binary('/',			-0.5L-1.5L*I,
	nan,			 complex(nanL, nanL),
	inf,			 0.0L,
       -inf,			 0.0L,
	nanL,			 complex(nanL, nanL),
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 complex(-infL, -infL),
	0,			 complex(-infL, -infL),
	0.0,			 complex(-infL, -infL),
	0.0L,			 complex(-infL, -infL),
	2,			-0.25L-0.75L*I,
       -2,			 0.25L+0.75L*I,
	2.0,			-0.25L-0.75L*I,
       -2.0,			 0.25L+0.75L*I,
	2.0L,			-0.25L-0.75L*I,
       -2.0L,			 0.25L+0.75L*I,
	0x8000000000000000,	-1/0x10000000000000000.0L-3/0x10000000000000000.0L*I,
       -0x8000000000000000,	 1/0x10000000000000000.0L+3/0x10000000000000000.0L*I,
	1/2,			-1.0L-3.0L*I,
       -1/2,			 1.0L+3.0L*I,
	0.5,			-1.0L-3.0L*I,
       -0.5,			 1.0L+3.0L*I,
	0.5L,			-1.0L-3.0L*I,
       -0.5L,			 1.0L+3.0L*I,
	1/2 +3/2 *I,		-1.0L,
       -1/2 -3/2 *I,		 1.0L,
	0.5 +1.5 *I,		-1.0L,
       -0.5 -1.5 *I,		 1.0L,
	0.5L+1.5L*I,		-1.0L,
       -0.5L-1.5L*I,		 1.0L,
        invalid,		 NAN);
binary('/',			 invalid,
	null,			 NAN,
	0,			 NAN,
	0.0,			 NAN,
	0.0L,			 NAN,
	2,			 NAN,
	2.0,			 NAN,
	2.0L,			 NAN,
	0x8000000000000000,	 NAN,
	1/2,			 NAN,
	1/2 +3/2 *I,		 NAN,
	0.5 +1.5 *I,		 NAN,
	0.5L+1.5L*I,		 NAN,
        invalid,		 NAN);
binary('\\',			 nan,
	nan,			 FPE,
	inf,			 FPE,
	nanL,			 FPE,
	infL,			 FPE,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 FPE,
	2.0,			 FPE,
	2.0L,			 FPE,
	0x8000000000000000,	 FPE,
	1/2,			 FPE,
	0.5,			 FPE,
	0.5L,			 FPE,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 inf,
	nan,			 FPE,
	inf,			 FPE,
	nanL,			 FPE,
	infL,			 FPE,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 FPE,
	2.0,			 FPE,
	2.0L,			 FPE,
	0x8000000000000000,	 FPE,
	1/2,			 FPE,
	0.5,			 FPE,
	0.5L,			 FPE,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 nanL,
	nan,			 FPE,
	inf,			 FPE,
	nanL,			 FPE,
	infL,			 FPE,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 FPE,
	2.0,			 FPE,
	2.0L,			 FPE,
	0x8000000000000000,	 FPE,
	1/2,			 FPE,
	0.5,			 FPE,
	0.5L,			 FPE,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 infL,
	nan,			 FPE,
	inf,			 FPE,
	nanL,			 FPE,
	infL,			 FPE,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 FPE,
	2.0,			 FPE,
	2.0L,			 FPE,
	0x8000000000000000,	 FPE,
	1/2,			 FPE,
	0.5,			 FPE,
	0.5L,			 FPE,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 null,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 0,
	1/3.0,			 0,
	1/3.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0,
       -0.5,			 0,
	0.5L,			 0,
       -0.5L,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 0,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 0,
	1/3.0,			 0,
	1/3.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0,
       -0.5,			 0,
	0.5L,			 0,
       -0.5L,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 0.0,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 0,
	1/3.0,			 0,
	1/3.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0,
       -0.5,			 0,
	0.5L,			 0,
       -0.5L,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 0.0L,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 0,
	1/3.0,			 0,
	1/3.0L,			 0,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0,
       -0.5,			 0,
	0.5L,			 0,
       -0.5L,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 2,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 1,
       -2,			-1,
	2.0,			 1,
       -2.0,			-1,
	2.0L,			 1,
       -2.0L,			-1,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 6,
       -1/3,			-6,
	1/3.0,			 6,
       -1/3.0,			-6,
	1/3.0L,			 6,
       -1/3.0L,			-6,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 4,
       -1/2,			-4,
	0.5,			 4,
       -0.5,			-4,
	0.5L,			 4,
       -0.5L,			-4,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-2,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			-1,
       -2,			 1,
	2.0,			-1,
       -2.0,			 1,
	2.0L,			-1,
       -2.0L,			 1,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			-6,
       -1/3,			 6,
	1/3.0,			-6,
       -1/3.0,			 6,
	1/3.0L,			-6,
       -1/3.0L,			 6,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			-4,
       -1/2,			 4,
	0.5,			-4,
       -0.5,			 4,
	0.5L,			-4,
       -0.5L,			 4,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 2.0,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 1,
       -2,			-1,
	2.0,			 1,
       -2.0,			-1,
	2.0L,			 1,
       -2.0L,			-1,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 6,
       -1/3,			-6,
	1/3.0,			 6,
       -1/3.0,			-6,
	1/3.0L,			 6,
       -1/3.0L,			-6,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 4,
       -1/2,			-4,
	0.5,			 4,
       -0.5,			-4,
	0.5L,			 4,
       -0.5L,			-4,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-2.0,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			-1,
       -2,			 1,
	2.0,			-1,
       -2.0,			 1,
	2.0L,			-1,
       -2.0L,			 1,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			-6,
       -1/3,			 6,
	1/3.0,			-6,
       -1/3.0,			 6,
	1/3.0L,			-6,
       -1/3.0L,			 6,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			-4,
       -1/2,			 4,
	0.5,			-4,
       -0.5,			 4,
	0.5L,			-4,
       -0.5L,			 4,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 2.0L,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 1,
       -2,			-1,
	2.0,			 1,
       -2.0,			-1,
	2.0L,			 1,
       -2.0L,			-1,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 6,
       -1/3,			-6,
	1/3.0,			 6,
       -1/3.0,			-6,
	1/3.0L,			 6,
       -1/3.0L,			-6,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 4,
       -1/2,			-4,
	0.5,			 4,
       -0.5,			-4,
	0.5L,			 4,
       -0.5L,			-4,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-2.0L,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			-1,
       -2,			 1,
	2.0,			-1,
       -2.0,			 1,
	2.0L,			-1,
       -2.0L,			 1,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			-6,
       -1/3,			 6,
	1/3.0,			-6,
       -1/3.0,			 6,
	1/3.0L,			-6,
       -1/3.0L,			 6,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			-4,
       -1/2,			 4,
	0.5,			-4,
       -0.5,			 4,
	0.5L,			-4,
       -0.5L,			 4,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 3,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 1,
       -2,			-1,
	2.0,			 1,
       -2.0,			-1,
	2.0L,			 1,
       -2.0L,			-1,
	3,			 1,
       -3,			-1,
	3.0,			 1,
       -3.0,			-1,
	3.0L,			 1,
       -3.0L,			-1,
	1/3,			 9,
       -1/3,			-9,
	1/3.0,			 9,
       -1/3.0,			-9,
	1/3.0L,			 9,
       -1/3.0L,			-9,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 6,
       -1/2,			-6,
	0.5,			 6,
       -0.5,			-6,
	0.5L,			 6,
       -0.5L,			-6,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-3,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			-1,
       -2,			 1,
	2.0,			-1,
       -2.0,			 1,
	2.0L,			-1,
       -2.0L,			 1,
	3,			-1,
       -3,			 1,
	3.0,			-1,
       -3.0,			 1,
	3.0L,			-1,
       -3.0L,			 1,
	1/3,			-9,
       -1/3,			 9,
	1/3.0,			-9,
       -1/3.0,			 9,
	1/3.0L,			-9,
       -1/3.0L,			 9,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			-6,
       -1/2,			 6,
	0.5,			-6,
       -0.5,			 6,
	0.5L,			-6,
       -0.5L,			 6,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 3.0,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 1,
       -2,			-1,
	2.0,			 1,
       -2.0,			-1,
	2.0L,			 1,
       -2.0L,			-1,
	3,			 1,
       -3,			-1,
	3.0,			 1,
       -3.0,			-1,
	3.0L,			 1,
       -3.0L,			-1,
	1/3,			 9,
       -1/3,			-9,
	1/3.0,			 9,
       -1/3.0,			-9,
	1/3.0L,			 9,
       -1/3.0L,			-9,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 6,
       -1/2,			-6,
	0.5,			 6,
       -0.5,			-6,
	0.5L,			 6,
       -0.5L,			-6,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-3.0,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			-1,
       -2,			 1,
	2.0,			-1,
       -2.0,			 1,
	2.0L,			-1,
       -2.0L,			 1,
	3,			-1,
       -3,			 1,
	3.0,			-1,
       -3.0,			 1,
	3.0L,			-1,
       -3.0L,			 1,
	1/3,			-9,
       -1/3,			 9,
	1/3.0,			-9,
       -1/3.0,			 9,
	1/3.0L,			-9,
       -1/3.0L,			 9,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			-6,
       -1/2,			 6,
	0.5,			-6,
       -0.5,			 6,
	0.5L,			-6,
       -0.5L,			 6,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 3.0L,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 1,
       -2,			-1,
	2.0,			 1,
       -2.0,			-1,
	2.0L,			 1,
       -2.0L,			-1,
	3,			 1,
       -3,			-1,
	3.0,			 1,
       -3.0,			-1,
	3.0L,			 1,
       -3.0L,			-1,
	1/3,			 9,
       -1/3,			-9,
	1/3.0,			 9,
       -1/3.0,			-9,
	1/3.0L,			 9,
       -1/3.0L,			-9,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 6,
       -1/2,			-6,
	0.5,			 6,
       -0.5,			-6,
	0.5L,			 6,
       -0.5L,			-6,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-3.0L,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			-1,
       -2,			 1,
	2.0,			-1,
       -2.0,			 1,
	2.0L,			-1,
       -2.0L,			 1,
	3,			-1,
       -3,			 1,
	3.0,			-1,
       -3.0,			 1,
	3.0L,			-1,
       -3.0L,			 1,
	1/3,			-9,
       -1/3,			 9,
	1/3.0,			-9,
       -1/3.0,			 9,
	1/3.0L,			-9,
       -1/3.0L,			 9,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			-6,
       -1/2,			 6,
	0.5,			-6,
       -0.5,			 6,
	0.5L,			-6,
       -0.5L,			 6,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 1/3,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 1,
       -1/3,			-1,
	1/3.0,			 1,
       -1/3.0,			-1,
	1/3.0L,			 1,
       -1/3.0L,			-1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0,
       -0.5,			 0,
	0.5L,			 0,
       -0.5L,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-1/3,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			-1,
       -1/3,			 1,
	1/3.0,			-1,
       -1/3.0,			 1,
	1/3.0L,			-1,
       -1/3.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0,
       -0.5,			 0,
	0.5L,			 0,
       -0.5L,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 1/3.0,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 1,
       -1/3,			-1,
	1/3.0,			 1,
       -1/3.0,			-1,
	1/3.0L,			 1,
       -1/3.0L,			-1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0,
       -0.5,			 0,
	0.5L,			 0,
       -0.5L,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-1/3.0,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			-1,
       -1/3,			 1,
	1/3.0,			-1,
       -1/3.0,			 1,
	1/3.0L,			-1,
       -1/3.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0,
       -0.5,			 0,
	0.5L,			 0,
       -0.5L,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 1/3.0L,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 1,
       -1/3,			-1,
	1/3.0,			 1,
       -1/3.0,			-1,
	1/3.0L,			 1,
       -1/3.0L,			-1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0,
       -0.5,			 0,
	0.5L,			 0,
       -0.5L,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-1/3.0L,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			-1,
       -1/3,			 1,
	1/3.0,			-1,
       -1/3.0,			 1,
	1/3.0L,			-1,
       -1/3.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0,
       -0.5,			 0,
	0.5L,			 0,
       -0.5L,			 0,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 0x8000000000000000,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0x4000000000000000,
       -2,			-0x4000000000000000,
	2.0,			 0x4000000000000000,
       -2.0,			-0x4000000000000000,
	2.0L,			 0x4000000000000000,
       -2.0L,			-0x4000000000000000,
	3,			 0x2aaaaaaaaaaaaaaa,
       -3,			-0x2aaaaaaaaaaaaaaa,
	3.0,			 0x2aaaaaaaaaaaaa00,	// remove 2 hex digits
       -3.0,			-0x2aaaaaaaaaaaaa00,
	3.0L,			 0x2aaaaaaaaaaaaa00,
       -3.0L,			-0x2aaaaaaaaaaaaa00,
	1/3,			 0x18000000000000000,
       -1/3,			-0x18000000000000000,
	1/3.0,			 0x18000000000000000,
       -1/3.0,			-0x18000000000000000,
	1/3.0L,			 0x18000000000000000,
       -1/3.0L,			-0x18000000000000000,
	0x8000000000000000,	 1,
       -0x8000000000000000,	-1,
	1/2,			 0x10000000000000000,
       -1/2,			-0x10000000000000000,
	0.5,			 0x10000000000000000,
       -0.5,			-0x10000000000000000,
	0.5L,			 0x10000000000000000,
       -0.5L,			-0x10000000000000000,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-0x8000000000000000,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			-0x4000000000000000,
       -2,			 0x4000000000000000,
	2.0,			-0x4000000000000000,
       -2.0,			 0x4000000000000000,
	2.0L,			-0x4000000000000000,
       -2.0L,			 0x4000000000000000,
	3,			-0x2aaaaaaaaaaaaaaa,
       -3,			 0x2aaaaaaaaaaaaaaa,
	3.0,			-0x2aaaaaaaaaaaaa00,	// remove 2 hex digits
       -3.0,			 0x2aaaaaaaaaaaaa00,
	3.0L,			-0x2aaaaaaaaaaaaa00,
       -3.0L,			 0x2aaaaaaaaaaaaa00,
	1/3,			-0x18000000000000000,
       -1/3,			 0x18000000000000000,
	1/3.0,			-0x18000000000000000,
       -1/3.0,			 0x18000000000000000,
	1/3.0L,			-0x18000000000000000,
       -1/3.0L,			 0x18000000000000000,
	0x8000000000000000,	-1,
       -0x8000000000000000,	 1,
	1/2,			-0x10000000000000000,
       -1/2,			 0x10000000000000000,
	0.5,			-0x10000000000000000,
       -0.5,			 0x10000000000000000,
	0.5L,			-0x10000000000000000,
       -0.5L,			 0x10000000000000000,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 1/2,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 1,
       -1/3,			-1,
	1/3.0,			 1,
       -1/3.0,			-1,
	1/3.0L,			 1,
       -1/3.0L,			-1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			-1,
	0.5,			 1,
       -0.5,			-1,
	0.5L,			 1,
       -0.5L,			-1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-1/2,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			-1,
       -1/3,			 1,
	1/3.0,			-1,
       -1/3.0,			 1,
	1/3.0L,			-1,
       -1/3.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			-1,
       -1/2,			 1,
	0.5,			-1,
       -0.5,			 1,
	0.5L,			-1,
       -0.5L,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 0.5,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 1,
       -1/3,			-1,
	1/3.0,			 1,
       -1/3.0,			-1,
	1/3.0L,			 1,
       -1/3.0L,			-1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			-1,
	0.5,			 1,
       -0.5,			-1,
	0.5L,			 1,
       -0.5L,			-1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-0.5,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			-1,
       -1/3,			 1,
	1/3.0,			-1,
       -1/3.0,			 1,
	1/3.0L,			-1,
       -1/3.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			-1,
       -1/2,			 1,
	0.5,			-1,
       -0.5,			 1,
	0.5L,			-1,
       -0.5L,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 0.5L,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			 1,
       -1/3,			-1,
	1/3.0,			 1,
       -1/3.0,			-1,
	1/3.0L,			 1,
       -1/3.0L,			-1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 1,
       -1/2,			-1,
	0.5,			 1,
       -0.5,			-1,
	0.5L,			 1,
       -0.5L,			-1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			-0.5L,
	nan,			 FPE,
	inf,			 0,
	nanL,			 FPE,
	infL,			 0,
	null,			 FPE,
	0,			 FPE,
	0.0,			 FPE,
	0.0L,			 FPE,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	1/3,			-1,
       -1/3,			 1,
	1/3.0,			-1,
       -1/3.0,			 1,
	1/3.0L,			-1,
       -1/3.0L,			 1,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			-1,
       -1/2,			 1,
	0.5,			-1,
       -0.5,			 1,
	0.5L,			-1,
       -0.5L,			 1,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 1/2+3/2*I,
	null,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 0.5+1.5*I,
	null,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	3,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 0.5L+1.5L*I,
	null,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('\\',			 invalid,
	null,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 nan,
	nan,			 nan,
	inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 nan,
       -2,			 nan,
	2.0,			 nan,
       -2.0,			 nan,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	3,			 nan,
       -3,			 nan,
	3.0,			 nan,
       -3.0,			 nan,
	3.0L,			 nanL,
       -3.0L,			 nanL,
	1/3,			 nan,
       -1/3,			 nan,
	1/3.0,			 nan,
       -1/3.0,			 nan,
	1/3.0L,			 nanL,
       -1/3.0L,			 nanL,
	0x8000000000000000,	 nan,
       -0x8000000000000000,	 nan,
	1/2,			 nan,
       -1/2,			 nan,
	0.5,			 nan,
       -0.5,			 nan,
	0.5L,			 nanL,
       -0.5L,			 nanL,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 inf,
	nan,			 nan,
	inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 nan,
       -2,			 nan,
	2.0,			 nan,
       -2.0,			 nan,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	3,			 nan,
       -3,			 nan,
	3.0,			 nan,
       -3.0,			 nan,
	3.0L,			 nanL,
       -3.0L,			 nanL,
	1/3,			 nan,
       -1/3,			 nan,
	1/3.0,			 nan,
       -1/3.0,			 nan,
	1/3.0L,			 nanL,
       -1/3.0L,			 nanL,
	0x8000000000000000,	 nan,
       -0x8000000000000000,	 nan,
	1/2,			 nan,
       -1/2,			 nan,
	0.5,			 nan,
       -0.5,			 nan,
	0.5L,			 nan,
       -0.5L,			 nan,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 nanL,
	nan,			 nanL,
	inf,			 nanL,
	nanL,			 nanL,
	infL,			 nanL,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 nanL,
       -2,			 nanL,
	2.0,			 nanL,
       -2.0,			 nanL,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	3,			 nanL,
       -3,			 nanL,
	3.0,			 nanL,
       -3.0,			 nanL,
	3.0L,			 nanL,
       -3.0L,			 nanL,
	1/3,			 nanL,
       -1/3,			 nanL,
	1/3.0,			 nanL,
       -1/3.0,			 nanL,
	1/3.0L,			 nanL,
       -1/3.0L,			 nanL,
	0x8000000000000000,	 nanL,
       -0x8000000000000000,	 nanL,
	1/2,			 nanL,
       -1/2,			 nanL,
	0.5,			 nanL,
       -0.5,			 nanL,
	0.5L,			 nanL,
       -0.5L,			 nanL,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 infL,
	nan,			 nanL,
	inf,			 nanL,
	nanL,			 nanL,
	infL,			 nanL,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 nanL,
       -2,			 nanL,
	2.0,			 nanL,
       -2.0,			 nanL,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	3,			 nanL,
       -3,			 nanL,
	3.0,			 nanL,
       -3.0,			 nanL,
	3.0L,			 nanL,
       -3.0L,			 nanL,
	1/3,			 nanL,
       -1/3,			 nanL,
	1/3.0,			 nanL,
       -1/3.0,			 nanL,
	1/3.0L,			 nanL,
       -1/3.0L,			 nanL,
	0x8000000000000000,	 nanL,
       -0x8000000000000000,	 nanL,
	1/2,			 nanL,
       -1/2,			 nanL,
	0.5,			 nanL,
       -0.5,			 nanL,
	0.5L,			 nanL,
       -0.5L,			 nanL,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 null,
	nan,			 nan,
	inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 0,
       -2,			 0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3,			 0,
       -3,			 0,
	3.0,			 0.0,
       -3.0,			 0.0,
	3.0L,			 0.0L,
       -3.0L,			 0.0L,
	1/3,			 0,
       -1/3,			 0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 0,
	nan,			 nan,
	inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 0,
       -2,			 0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3,			 0,
       -3,			 0,
	3.0,			 0.0,
       -3.0,			 0.0,
	3.0L,			 0.0L,
       -3.0L,			 0.0L,
	1/3,			 0,
       -1/3,			 0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 0.0,
	nan,			 nan,
	inf,			 0.0,
	nanL,			 nanL,
	infL,			 0.0L,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 0.0,
       -2,			 0.0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3,			 0.0,
       -3,			 0.0,
	3.0,			 0.0,
       -3.0,			 0.0,
	3.0L,			 0.0L,
       -3.0L,			 0.0L,
	1/3,			 0.0,
       -1/3,			 0.0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 0.0,
	1/2,			 0.0,
       -1/2,			 0.0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 0.0L,
	nan,			 nanL,
	inf,			 0.0L,
	nanL,			 nanL,
	infL,			 0.0L,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 0.0L,
       -2,			 0.0L,
	2.0,			 0.0L,
       -2.0,			 0.0L,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3,			 0.0L,
       -3,			 0.0L,
	3.0,			 0.0L,
       -3.0,			 0.0L,
	3.0L,			 0.0L,
       -3.0L,			 0.0L,
	1/3,			 0.0L,
       -1/3,			 0.0L,
	1/3.0,			 0.0L,
       -1/3.0,			 0.0L,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 0.0L,
       -0x8000000000000000,	 0.0L,
	1/2,			 0.0L,
       -1/2,			 0.0L,
	0.5,			 0.0L,
       -0.5,			 0.0L,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 2,
	nan,			 nan,
	inf,			 2.0,
	null,			 FPE,
	nanL,			 nanL,
	infL,			 2.0L,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 0,
       -2,			 0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3,			 2,
       -3,			 2,
	3.0,			 2.0,
       -3.0,			 2.0,
	3.0L,			 2.0L,
       -3.0L,			 2.0L,
	1/3,			 0,
       -1/3,			 0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 2,
       -0x8000000000000000,	 2,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-2,
	nan,			 nan,
	inf,			-2.0,
	nanL,			 nanL,
	infL,			-2.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 0,
       -2,			 0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3.0,			-2.0,
       -3.0,			-2.0,
	3.0L,			-2.0L,
       -3.0L,			-2.0L,
	1/3,			 0,
       -1/3,			 0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	-2,
       -0x8000000000000000,	-2,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 2.0,
	nan,			 nan,
	inf,			 2.0,
	nanL,			 nanL,
	infL,			 2.0L,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 0.0,
       -2,			 0.0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3,			 2.0,
       -3,			 2.0,
	3.0,			 2.0,
       -3.0,			 2.0,
	3.0L,			 2.0L,
       -3.0L,			 2.0L,
	1/3,			 0.0,
       -1/3,			 0.0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 2.0,
       -0x8000000000000000,	 2.0,
	1/2,			 0.0,
       -1/2,			 0.0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-2.0,
	nan,			 nan,
	inf,			-2.0,
	nanL,			 nanL,
	infL,			-2.0L,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 0.0,
       -2,			 0.0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3.0,			-2.0,
       -3.0,			-2.0,
	3.0L,			-2.0L,
       -3.0L,			-2.0L,
	1/3,			 0.0,
       -1/3,			 0.0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	-2.0,
       -0x8000000000000000,	-2.0,
	1/2,			 0.0,
       -1/2,			 0.0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 2.0L,
	nan,			 nanL,
	inf,			 2.0L,
	nanL,			 nanL,
	infL,			 2.0L,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 0.0L,
       -2,			 0.0L,
	2.0,			 0.0L,
       -2.0,			 0.0L,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3,			 2.0L,
       -3,			 2.0L,
	3.0,			 2.0L,
       -3.0,			 2.0L,
	3.0L,			 2.0L,
       -3.0L,			 2.0L,
	1/3,			 0.0L,
       -1/3,			 0.0L,
	1/3.0,			 0.0L,
       -1/3.0,			 0.0L,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 2.0L,
       -0x8000000000000000,	 2.0L,
	1/2,			 0.0L,
       -1/2,			 0.0L,
	0.5,			 0.0L,
       -0.5,			 0.0L,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-2.0L,
	nan,			 nanL,
	inf,			-2.0L,
	nanL,			 nanL,
	infL,			-2.0L,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 0.0L,
       -2,			 0.0L,
	2.0,			 0.0L,
       -2.0,			 0.0L,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3.0,			-2.0L,
       -3.0,			-2.0L,
	3.0L,			-2.0L,
       -3.0L,			-2.0L,
	1/3,			 0.0L,
       -1/3,			 0.0L,
	1/3.0,			 0.0L,
       -1/3.0,			 0.0L,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	-2.0L,
       -0x8000000000000000,	-2.0L,
	1/2,			 0.0L,
       -1/2,			 0.0L,
	0.5,			 0.0L,
       -0.5,			 0.0L,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 3,
	nan,			 nan,
	inf,			 3.0,
	nanL,			 nanL,
	infL,			 3.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 1,
       -2,			 1,
	2.0,			 1.0,
       -2.0,			 1.0,
	2.0L,			 1.0L,
       -2.0L,			 1.0L,
	3,			 0,
       -3,			 0,
	3.0,			 0.0,
       -3.0,			 0.0,
	3.0L,			 0.0L,
       -3.0L,			 0.0L,
	1/3,			 0,
       -1/3,			 0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 3,
       -0x8000000000000000,	 3,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-3,
	nan,			 nan,
	inf,			-3.0,
	nanL,			 nanL,
	infL,			-3.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nan,
	2,			-1,
       -2,			-1,
	2.0,			-1.0,
       -2.0,			-1.0,
	2.0L,			-1.0L,
       -2.0L,			-1.0L,
	3,			 0,
       -3,			 0,
	3.0,			 0.0,
       -3.0,			 0.0,
	3.0L,			 0.0L,
       -3.0L,			 0.0L,
	1/3,			 0,
       -1/3,			 0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	-3,
       -0x8000000000000000,	-3,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 3.0,
	nan,			 nan,
	inf,			 3.0,
	nanL,			 nanL,
	infL,			 3.0L,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 1.0,
       -2,			 1.0,
	2.0,			 1.0,
       -2.0,			 1.0,
	2.0L,			 1.0L,
       -2.0L,			 1.0L,
	3,			 0.0,
       -3,			 0.0,
	3.0,			 0.0,
       -3.0,			 0.0,
	3.0L,			 0.0L,
       -3.0L,			 0.0L,
	1/3,			 0.0,
       -1/3,			 0.0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 3.0,
       -0x8000000000000000,	 3.0,
	1/2,			 0.0,
       -1/2,			 0.0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-3.0,
	nan,			 nan,
	inf,			-3.0,
	nanL,			 nanL,
	infL,			-3.0L,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nan,
	2,			-1.0,
       -2,			-1.0,
	2.0,			-1.0,
       -2.0,			-1.0,
	2.0L,			-1.0L,
       -2.0L,			-1.0L,
	3,			 0.0,
       -3,			 0.0,
	3.0,			 0.0,
       -3.0,			 0.0,
	3.0L,			 0.0L,
       -3.0L,			 0.0L,
	1/3,			 0.0,
       -1/3,			 0.0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	-3.0,
       -0x8000000000000000,	-3.0,
	1/2,			 0.0,
       -1/2,			 0.0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 3.0L,
	nan,			 nanL,
	inf,			 3.0L,
	nanL,			 nanL,
	infL,			 3.0L,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 1.0L,
       -2,			 1.0L,
	2.0,			 1.0L,
       -2.0,			 1.0L,
	2.0L,			 1.0L,
       -2.0L,			 1.0L,
	3,			 0.0L,
       -3,			 0.0L,
	3.0,			 0.0L,
       -3.0,			 0.0L,
	3.0L,			 0.0L,
       -3.0L,			 0.0L,
	1/3,			 0.0L,
       -1/3,			 0.0L,
	1/3.0,			 0.0L,
       -1/3.0,			 0.0L,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 3.0L,
       -0x8000000000000000,	 3.0L,
	1/2,			 0.0L,
       -1/2,			 0.0L,
	0.5,			 0.0L,
       -0.5,			 0.0L,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-3.0L,
	nan,			 nanL,
	inf,			-3.0L,
	nanL,			 nanL,
	infL,			-3.0L,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			-1.0L,
       -2,			-1.0L,
	2.0,			-1.0L,
       -2.0,			-1.0L,
	2.0L,			-1.0L,
       -2.0L,			-1.0L,
	3,			 0.0L,
       -3,			 0.0L,
	3.0,			 0.0L,
       -3.0,			 0.0L,
	3.0L,			 0.0L,
       -3.0L,			 0.0L,
	1/3,			 0.0L,
       -1/3,			 0.0L,
	1/3.0,			 0.0L,
       -1/3.0,			 0.0L,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	-3.0L,
       -0x8000000000000000,	-3.0L,
	1/2,			 0.0L,
       -1/2,			 0.0L,
	0.5,			 0.0L,
       -0.5,			 0.0L,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 1/3,
	nan,			 nan,
	inf,			 1/3.0,
	nanL,			 nanL,
	infL,			 1/3.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 1/3,
       -2,			 1/3,
	2.0,			 1/3.0,
       -2.0,			 1/3.0,
	2.0L,			 1/3.0L,
       -2.0L,			 1/3.0L,
	3,			 1/3,
       -3,			 1/3,
	3.0,			 1/3.0,
       -3.0,			 1/3.0,
	3.0L,			 1/3.0L,
       -3.0L,			 1/3.0L,
	1/3,			 0.0L,
       -1/3,			 0.0L,
	1/3.0,			 0.0L,
       -1/3.0,			 0.0L,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 1/3,
       -0x8000000000000000,	 1/3,
	1/2,			 1/3,
       -1/2,			 1/3,
	0.5,			 1/3.0,
       -0.5,			 1/3.0,
	0.5L,			 1/3.0L,
       -0.5L,			 1/3.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-1/3,
	nan,			 nan,
	inf,			-1/3.0,
	nanL,			 nanL,
	infL,			-1/3.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			-1/3,
       -2,			-1/3,
	2.0,			-1/3.0,
       -2.0,			-1/3.0,
	2.0L,			-1/3.0L,
       -2.0L,			-1/3.0L,
	3,			-1/3,
       -3,			-1/3,
	3.0,			-1/3.0,
       -3.0,			-1/3.0,
	3.0L,			-1/3.0L,
       -3.0L,			-1/3.0L,
	1/3,			 0,
       -1/3,			 0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	-1/3,
       -0x8000000000000000,	-1/3,
	1/2,			-1/3,
       -1/2,			-1/3,
	0.5,			-1/3.0,
       -0.5,			-1/3.0,
	0.5L,			-1/3.0L,
       -0.5L,			-1/3.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 1/3.0,
	nan,			 nan,
	inf,			 1/3.0,
	nanL,			 nanL,
	infL,			 1/3.0L,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 1/3.0,
       -2,			 1/3.0,
	2.0,			 1/3.0,
       -2.0,			 1/3.0,
	2.0L,			 1/3.0L,
       -2.0L,			 1/3.0L,
	3,			 1/3.0,
       -3,			 1/3.0,
	3.0,			 1/3.0,
       -3.0,			 1/3.0,
	3.0L,			 1/3.0L,
       -3.0L,			 1/3.0L,
	1/3,			 0.0L,
       -1/3,			 0.0L,
	1/3.0,			 0.0L,
       -1/3.0,			 0.0L,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 1/3.0,
       -0x8000000000000000,	 1/3.0,
	1/2,			 1/3.0,
       -1/2,			 1/3.0,
	0.5,			 1/3.0,
       -0.5,			 1/3.0,
	0.5L,			 1/3.0L,
       -0.5L,			 1/3.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-1/3.0,
	nan,			 nan,
	inf,			-1/3.0,
	nanL,			 nanL,
	infL,			-1/3.0L,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nan,
	2,			-1/3.0,
       -2,			-1/3.0,
	2.0,			-1/3.0,
       -2.0,			-1/3.0,
	2.0L,			-1/3.0,
       -2.0L,			-1/3.0,
	3,			-1/3.0,
       -3,			-1/3.0,
	3.0,			-1/3.0,
       -3.0,			-1/3.0,
	3.0L,			-1/3.0L,
       -3.0L,			-1/3.0L,
	1/3,			 0.0,
       -1/3,			 0.0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	-1/3.0,
       -0x8000000000000000,	-1/3.0,
	1/2,			-1/3.0,
       -1/2,			-1/3.0,
	0.5,			-1/3.0,
       -0.5,			-1/3.0,
	0.5L,			-1/3.0L,
       -0.5L,			-1/3.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 1/3.0L,
	nan,			 nanL,
	inf,			 1/3.0L,
	nanL,			 nanL,
	infL,			 1/3.0L,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 1/3.0L,
       -2,			 1/3.0L,
	2.0,			 1/3.0L,
       -2.0,			 1/3.0L,
	2.0L,			 1/3.0L,
       -2.0L,			 1/3.0L,
	3,			 1/3.0L,
       -3,			 1/3.0L,
	3.0,			 1/3.0L,
       -3.0,			 1/3.0L,
	3.0L,			 1/3.0L,
       -3.0L,			 1/3.0L,
	1/3,			 0.0L,
       -1/3,			 0.0L,
	1/3.0,			 0.0L,
       -1/3.0,			 0.0L,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 1/3.0L,
       -0x8000000000000000,	 1/3.0L,
	1/2,			 1/3.0L,
       -1/2,			 1/3.0L,
	0.5,			 1/3.0L,
       -0.5,			 1/3.0L,
	0.5L,			 1/3.0L,
       -0.5L,			 1/3.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-1/3.0L,
	nan,			 nanL,
	inf,			-1/3.0L,
	nanL,			 nanL,
	infL,			-1/3.0L,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			-1/3.0L,
       -2,			-1/3.0L,
	2.0,			-1/3.0L,
       -2.0,			-1/3.0L,
	2.0L,			-1/3.0L,
       -2.0L,			-1/3.0L,
	3,			-1/3.0L,
       -3,			-1/3.0L,
	3.0,			-1/3.0L,
       -3.0,			-1/3.0L,
	3.0L,			-1/3.0L,
       -3.0L,			-1/3.0L,
	1/3,			 0.0L,
       -1/3,			 0.0L,
	1/3.0,			 0.0L,
       -1/3.0,			 0.0L,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	-1/3.0L,
       -0x8000000000000000,	-1/3.0L,
	1/2,			-1/3.0L,
       -1/2,			-1/3.0L,
	0.5,			-1/3.0L,
       -0.5,			-1/3.0L,
	0.5L,			-1/3.0L,
       -0.5L,			-1/3.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 0x8000000000000000,
	nan,			 nan,
	inf,			 0x8000000000000000.0,
	nanL,			 nanL,
	infL,			 0x8000000000000000.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 0,
       -2,			 0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3,			 2,
       -3,			 2,
	3.0,			 2.0,
       -3.0,			 2.0,
	3.0L,			 2.0L,
       -3.0L,			 2.0L,
	1/3,			 0,
       -1/3,			 0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-0x8000000000000000,
	nan,			 nan,
	inf,			-0x8000000000000000.0,
	nanL,			 nanL,
	infL,			-0x8000000000000000.0L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 0,
       -2,			 0,
	2.0,			 0.0,
       -2.0,			 0.0,
	2.0L,			 0.0L,
       -2.0L,			 0.0L,
	3,			-2,
       -3,			-2,
	3.0,			-2.0,
       -3.0,			-2.0,
	3.0L,			-2.0L,
       -3.0L,			-2.0L,
	1/3,			 0,
       -1/3,			 0,
	1/3.0,			 0.0,
       -1/3.0,			 0.0,
	1/3.0L,			 0.0L,
       -1/3.0L,			 0.0L,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 1/2,
	nan,			 nan,
	inf,			 0.5,
	nanL,			 nanL,
	infL,			 0.5L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 1/2,
       -2,			 1/2,
	2.0,			 0.5,
       -2.0,			 0.5,
	2.0L,			 0.5L,
       -2.0L,			 0.5L,
	3,			 1/2,
       -3,			 1/2,
	3.0,			 0.5,
       -3.0,			 0.5,
	3.0L,			 0.5L,
       -3.0L,			 0.5L,
	1/3,			 1/6,
       -1/3,			 1/6,
	1/3.0,			 1/6.0,
       -1/3.0,			 1/6.0,
	1/3.0L,			 1/6.0L,
       -1/3.0L,			 1/6.0L,
	0x8000000000000000,	 1/2,
       -0x8000000000000000,	 1/2,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-1/2,
	nan,			 nan,
	inf,			-0.5,
	nanL,			 nanL,
	infL,			-0.5L,
	null,			 FPE,
	0,			 FPE,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			-1/2,
       -2,			-1/2,
	2.0,			-0.5,
       -2.0,			-0.5,
	2.0L,			-0.5L,
       -2.0L,			-0.5L,
	3,			-1/2,
       -3,			-1/2,
	3.0,			-0.5,
       -3.0,			-0.5,
	3.0L,			-0.5L,
       -3.0L,			-0.5L,
	1/3,			-1/6,
       -1/3,			-1/6,
	1/3.0,			-1/6.0,
       -1/3.0,			-1/6.0,
	1/3.0L,			-1/6.0L,
       -1/3.0L,			-1/6.0L,
	0x8000000000000000,	-1/2,
       -0x8000000000000000,	-1/2,
	1/2,			 0,
       -1/2,			 0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 0.5,
	nan,			 nan,
	inf,			 0.5,
	nanL,			 nanL,
	infL,			 0.5L,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 0.5,
       -2,			 0.5,
	2.0,			 0.5,
       -2.0,			 0.5,
	2.0L,			 0.5L,
       -2.0L,			 0.5L,
	3,			 0.5,
       -3,			 0.5,
	3.0,			 0.5,
       -3.0,			 0.5,
	3.0L,			 0.5L,
       -3.0L,			 0.5L,
	1/3,			 1/6.0,
       -1/3,			 1/6.0,
	1/3.0,			 1/6.0,
       -1/3.0,			 1/6.0,
	1/3.0L,			 1/6.0L,
       -1/3.0L,			 1/6.0L,
	0x8000000000000000,	 0.5,
       -0x8000000000000000,	 0.5,
	1/2,			 0.0,
       -1/2,			 0.0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-0.5,
	nan,			 nan,
	inf,			-0.5,
	nanL,			 nanL,
	infL,			-0.5L,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			-0.5,
       -2,			-0.5,
	2.0,			-0.5,
       -2.0,			-0.5,
	2.0L,			-0.5L,
       -2.0L,			-0.5L,
	3,			-0.5,
       -3,			-0.5,
	3.0,			-0.5,
       -3.0,			-0.5,
	3.0L,			-0.5L,
       -3.0L,			-0.5L,
	1/3,			-1/6.0,
       -1/3,			-1/6.0,
	1/3.0,			-1/6.0,
       -1/3.0,			-1/6.0,
	1/3.0L,			-1/6.0L,
       -1/3.0L,			-1/6.0L,
	0x8000000000000000,	-0.5,
       -0x8000000000000000,	-0.5,
	1/2,			 0.0,
       -1/2,			 0.0,
	0.5,			 0.0,
       -0.5,			 0.0,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 0.5L,
	nan,			 nanL,
	inf,			 0.5L,
	nanL,			 nanL,
	infL,			 0.5L,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 0.5L,
       -2,			 0.5L,
	2.0,			 0.5L,
       -2.0,			 0.5L,
	2.0L,			 0.5L,
       -2.0L,			 0.5L,
	3,			 0.5L,
       -3,			 0.5L,
	3.0,			 0.5L,
       -3.0,			 0.5L,
	3.0L,			 0.5L,
       -3.0L,			 0.5L,
	1/3,			 1/6.0L,
       -1/3,			 1/6.0L,
	1/3.0,			 1/6.0L,
       -1/3.0,			 1/6.0L,
	1/3.0L,			 1/6.0L,
       -1/3.0L,			 1/6.0L,
	0x8000000000000000,	 0.5L,
       -0x8000000000000000,	 0.5L,
	1/2,			 0.0L,
       -1/2,			 0.0L,
	0.5,			 0.0L,
       -0.5,			 0.0L,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			-0.5L,
	nan,			 nanL,
	inf,			-0.5L,
	nanL,			 nanL,
	infL,			-0.5L,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			-0.5L,
       -2,			-0.5L,
	2.0,			-0.5L,
       -2.0,			-0.5L,
	2.0L,			-0.5L,
       -2.0L,			-0.5L,
	3,			-0.5L,
       -3,			-0.5L,
	3.0,			-0.5L,
       -3.0,			-0.5L,
	3.0L,			-0.5L,
       -3.0L,			-0.5L,
	1/3,			-1/6.0L,
       -1/3,			-1/6.0L,
	1/3.0,			-1/6.0L,
       -1/3.0,			-1/6.0L,
	1/3.0L,			-1/6.0L,
       -1/3.0L,			-1/6.0L,
	0x8000000000000000,	-0.5L,
       -0x8000000000000000,	-0.5L,
	1/2,			 0.0L,
       -1/2,			 0.0L,
	0.5,			 0.0L,
       -0.5,			 0.0L,
	0.5L,			 0.0L,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 1/2+3/2*I,
	null,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 0.5+1.5*I,
	null,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 0.5L+1.5L*I,
	null,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('%',			 invalid,
	null,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<<',			 nan,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 nan,
       -2,			 nan,
	2.0,			 nan,
       -2.0,			 nan,
	2.0L,			 nan,
       -2.0L,			 nan,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 inf,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 inf,
       -2,			 inf,
	2.0,			 inf,
       -2.0,			 inf,
	2.0L,			 inf,
       -2.0L,			 inf,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 nanL,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 nanL,
       -2,			 nanL,
	2.0,			 nanL,
       -2.0,			 nanL,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 infL,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 infL,
	0,			 infL,
	0.0,			 infL,
	0.0L,			 infL,
	2,			 infL,
       -2,			 infL,
	2.0,			 infL,
       -2.0,			 infL,
	2.0L,			 infL,
       -2.0L,			 infL,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 null,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 0.0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 0.0L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 2,
	0,			 2,
	0.0,			 2,
	0.0L,			 2,
	2,			 8,
       -2,			 1/2,
	2.0,			 8,
       -2.0,			 1/2,
	2.0L,			 8,
       -2.0L,			 1/2,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			-2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-2,
	0,			-2,
	0.0,			-2,
	0.0L,			-2,
	2,			-8,
       -2,			-1/2,
	2.0,			-8,
       -2.0,			-1/2,
	2.0L,			-8,
       -2.0L,			-1/2,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 2.0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 2.0,
	0,			 2.0,
	0.0,			 2.0,
	0.0L,			 2.0,
	2,			 8.0,
       -2,			 0.5,
	2.0,			 8.0,
       -2.0,			 0.5,
	2.0L,			 8.0,
       -2.0L,			 0.5,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			-2.0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-2.0,
	0,			-2.0,
	0.0,			-2.0,
	0.0L,			-2.0,
	2,			-8.0,
       -2,			-0.5,
	2.0,			-8.0,
       -2.0,			-0.5,
	2.0L,			-8.0,
       -2.0L,			-0.5,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 2.0L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 2.0L,
	0,			 2.0L,
	0.0,			 2.0L,
	0.0L,			 2.0L,
	2,			 8.0L,
       -2,			 0.5L,
	2.0,			 8.0L,
       -2.0,			 0.5L,
	2.0L,			 8.0L,
       -2.0L,			 0.5L,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			-2.0L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-2.0L,
	0,			-2.0L,
	0.0,			-2.0L,
	0.0L,			-2.0L,
	2,			-8.0L,
       -2,			-0.5L,
	2.0,			-8.0L,
       -2.0,			-0.5L,
	2.0L,			-8.0L,
       -2.0L,			-0.5L,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 0x8000000000000000,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0x8000000000000000,
	0,			 0x8000000000000000,
	0.0,			 0x8000000000000000,
	0.0L,			 0x8000000000000000,
	2,			 0x20000000000000000,
       -2,			 0x2000000000000000,
	2.0,			 0x20000000000000000,
       -2.0,			 0x2000000000000000,
	2.0L,			 0x20000000000000000,
       -2.0L,			 0x2000000000000000,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			-0x8000000000000000,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-0x8000000000000000,
	0,			-0x8000000000000000,
	0.0,			-0x8000000000000000,
	0.0L,			-0x8000000000000000,
	2,			-0x20000000000000000,
       -2,			-0x2000000000000000,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 1/2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 1/2,
	0,			 1/2,
	0.0,			 1/2,
	0.0L,			 1/2,
	2,			 2,
       -2,			 1/8,
	2.0,			 2,
       -2.0,			 1/8,
	2.0L,			 2,
       -2.0L,			 1/8,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			-1/2,
	nan,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	inf,			 NA32BI,
	null,			-1/2,
	0,			-1/2,
	0.0,			-1/2,
	0.0L,			-1/2,
	2,			-2,
       -2,			-1/8,
	2.0,			-2,
       -2.0,			-1/8,
	2.0L,			-2,
       -2.0L,			-1/8,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 0.5,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0.5,
	0,			 0.5,
	0.0,			 0.5,
	0.0L,			 0.5,
	2,			 2.0,
       -2,			 0.125,
	2.0,			 2.0,
       -2.0,			 0.125,
	2.0L,			 2.0,
       -2.0L,			 0.125,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			-0.5,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-0.5,
	0,			-0.5,
	0.0,			-0.5,
	0.0L,			-0.5,
	2,			-2.0,
       -2,			-0.125,
	2.0,			-2.0,
       -2.0,			-0.125,
	2.0L,			-2.0,
       -2.0L,			-0.125,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 0.5L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0.5L,
	0,			 0.5L,
	0.0,			 0.5L,
	0.0L,			 0.5L,
	2,			 2.0L,
       -2,			 0.125L,
	2.0,			 2.0L,
       -2.0,			 0.125L,
	2.0L,			 2.0L,
       -2.0L,			 0.125L,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			-0.5L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-0.5L,
	0,			-0.5L,
	0.0,			-0.5L,
	0.0L,			-0.5L,
	2,			-2.0L,
       -2,			-0.125L,
	2.0,			-2.0L,
       -2.0,			-0.125L,
	2.0L,			-2.0L,
       -2.0L,			-0.125L,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 1/2+3/2*I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 1/2+3/2*I,
	0,			 1/2+3/2*I,
	0.0,			 1/2+3/2*I,
	0.0L,			 1/2+3/2*I,
	2,			 2  +6  *I,
       -2,			 1/8+3/8*I,
	2.0,			 2  +6  *I,
       -2.0,			 1/8+3/8*I,
	2.0L,			 2  +6  *I,
       -2.0L,			 1/8+3/8*I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			-1/2-3/2*I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-1/2-3/2*I,
	0,			-1/2-3/2*I,
	0.0,			-1/2-3/2*I,
	0.0L,			-1/2-3/2*I,
	2,			-2  -6  *I,
       -2,			-1/8-3/8*I,
	2.0,			-2  -6  *I,
       -2.0,			-1/8-3/8*I,
	2.0L,			-2  -6  *I,
       -2.0L,			-1/8-3/8*I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 0.5  +1.5  *I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0.5  +1.5  *I,
	0,			 0.5  +1.5  *I,
	0.0,			 0.5  +1.5  *I,
	0.0L,			 0.5  +1.5  *I,
	2,			 2.0  +6.0  *I,
       -2,			 0.125+0.375*I,
	2.0,			 2.0  +6.0  *I,
       -2.0,			 0.125+0.375*I,
	2.0L,			 2.0  +6.0  *I,
       -2.0L,			 0.125+0.375*I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			-0.5  -1.5  *I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-0.5  -1.5  *I,
	0,			-0.5  -1.5  *I,
	0.0,			-0.5  -1.5  *I,
	0.0L,			-0.5  -1.5  *I,
	2,			-2.0  -6.0  *I,
       -2,			-0.125-0.375*I,
	2.0,			-2.0  -6.0  *I,
       -2.0,			-0.125-0.375*I,
	2.0L,			-2.0  -6.0  *I,
       -2.0L,			-0.125-0.375*I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 0.5L  +1.5L  *I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0.5L  +1.5L  *I,
	0,			 0.5L  +1.5L  *I,
	0.0,			 0.5L  +1.5L  *I,
	0.0L,			 0.5L  +1.5L  *I,
	2,			 2.0L  +6.0L  *I,
       -2,			 0.125L+0.375L*I,
	2.0,			 2.0L  +6.0L  *I,
       -2.0,			 0.125L+0.375L*I,
	2.0L,			 2.0L  +6.0L  *I,
       -2.0L,			 0.125L+0.375L*I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			-0.5L  -1.5L  *I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-0.5L  -1.5L  *I,
	0,			-0.5L  -1.5L  *I,
	0.0,			-0.5L  -1.5L  *I,
	0.0L,			-0.5L  -1.5L  *I,
	2,			-2.0L  -6.0L  *I,
       -2,			-0.125L-0.375L*I,
	2.0,			-2.0L  -6.0L  *I,
       -2.0,			-0.125L-0.375L*I,
	2.0L,			-2.0L  -6.0L  *I,
       -2.0L,			-0.125L-0.375L*I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<',			 invalid,
	null,			 NAN,
	2,			 NAN,
	0x8000000000000000,	 NAN,
	1/2,			 NAN,
	0.5,			 NAN,
	0.5L,			 NAN,
	1/2 +3/2 *I,		 NAN,
	0.5 +1.5 *I,		 NAN,
	0.5L+1.5L*I,		 NAN,
        invalid,		 NAN);
binary('>>',			 nan,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 nan,
       -2,			 nan,
	2.0,			 nan,
       -2.0,			 nan,
	2.0L,			 nan,
       -2.0L,			 nan,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 inf,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 inf,
       -2,			 inf,
	2.0,			 inf,
       -2.0,			 inf,
	2.0L,			 inf,
       -2.0L,			 inf,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 nanL,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 nan,
       -2,			 nan,
	2.0,			 nan,
       -2.0,			 nan,
	2.0L,			 nan,
       -2.0L,			 nan,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 infL,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 inf,
       -2,			 inf,
	2.0,			 inf,
       -2.0,			 inf,
	2.0L,			 inf,
       -2.0L,			 inf,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 null,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 2,
	0,			 2,
	0.0,			 2,
	0.0L,			 2,
	2,			 1/2,
       -2,			 8,
	2.0,			 1/2,
       -2.0,			 8,
	2.0L,			 1/2,
       -2.0L,			 8,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			-2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-2,
	0,			-2,
	0.0,			-2,
	0.0L,			-2,
	2,			-1/2,
       -2,			-8,
	2.0,			-1/2,
       -2.0,			-8,
	2.0L,			-1/2,
       -2.0L,			-8,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 0x8000000000000000,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0x8000000000000000,
	0,			 0x8000000000000000,
	0.0,			 0x8000000000000000,
	0.0L,			 0x8000000000000000,
	2,			 0x2000000000000000,
       -2,			 0x20000000000000000,
	2.0,			 0x2000000000000000,
       -2.0,			 0x20000000000000000,
	2.0L,			 0x2000000000000000,
       -2.0L,			 0x20000000000000000,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			-0x8000000000000000,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-0x8000000000000000,
	0,			-0x8000000000000000,
	0.0,			-0x8000000000000000,
	0.0L,			-0x8000000000000000,
	2,			-0x2000000000000000,
       -2,			-0x20000000000000000,
	2.0,			-0x2000000000000000,
       -2.0,			-0x20000000000000000,
	2.0L,			-0x2000000000000000,
       -2.0L,			-0x20000000000000000,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 1/2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 1/2,
	0,			 1/2,
	0.0,			 1/2,
	0.0L,			 1/2,
	2,			 1/8,
       -2,			 2,
	2.0,			 1/8,
       -2.0,			 2,
	2.0L,			 1/8,
       -2.0L,			 2,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			-1/2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-1/2,
	0,			-1/2,
	0.0,			-1/2,
	0.0L,			-1/2,
	2,			-1/8,
       -2,			-2,
	2.0,			-1/8,
       -2.0,			-2,
	2.0L,			-1/8,
       -2.0L,			-2,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 0.5,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0.5,
	0,			 0.5,
	0.0,			 0.5,
	0.0L,			 0.5,
	2,			 0.125,
       -2,			 2.0,
	2.0,			 0.125,
       -2.0,			 2.0,
	2.0L,			 0.125,
       -2.0L,			 2.0,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			-0.5,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-0.5,
	0,			-0.5,
	0.0,			-0.5,
	0.0L,			-0.5,
	2,			-0.125,
       -2,			-2.0,
	2.0,			-0.125,
       -2.0,			-2.0,
	2.0L,			-0.125,
       -2.0L,			-2.0,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 0.5L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0.5L,
	0,			 0.5L,
	0.0,			 0.5L,
	0.0L,			 0.5L,
	2,			 0.125L,
       -2,			 2.0L,
	2.0,			 0.125L,
       -2.0,			 2.0L,
	2.0L,			 0.125L,
       -2.0L,			 2.0L,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			-0.5L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-0.5L,
	0,			-0.5L,
	0.0,			-0.5L,
	0.0L,			-0.5L,
	2,			-0.125L,
       -2,			-2.0L,
	2.0,			-0.125L,
       -2.0,			-2.0L,
	2.0L,			-0.125L,
       -2.0L,			-2.0L,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 1/2+3/2*I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 1/2+3/2*I,
	0,			 1/2+3/2*I,
	0.0,			 1/2+3/2*I,
	0.0L,			 1/2+3/2*I,
	2,			 1/8+3/8*I,
       -2,			 2  +6  *I,
	2.0,			 1/8+3/8*I,
       -2.0,			 2  +6  *I,
	2.0L,			 1/8+3/8*I,
       -2.0L,			 2  +6  *I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			-1/2-3/2*I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-1/2-3/2*I,
	0,			-1/2-3/2*I,
	0.0,			-1/2-3/2*I,
	0.0L,			-1/2-3/2*I,
	2,			-1/8-3/8*I,
       -2,			-2  -6  *I,
	2.0,			-1/8-3/8*I,
       -2.0,			-2  -6  *I,
	2.0L,			-1/8-3/8*I,
       -2.0L,			-2  -6  *I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 0.5+1.5*I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0.5+1.5*I,
	0,			 0.5+1.5*I,
	0.0,			 0.5+1.5*I,
	0.0L,			 0.5+1.5*I,
	2,			 0.125+0.375*I,
       -2,			 2.0  +6.0  *I,
	2.0,			 0.125+0.375*I,
       -2.0,			 2.0  +6.0  *I,
	2.0L,			 0.125+0.375*I,
       -2.0L,			 2.0  +6.0  *I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			-0.5-1.5*I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-0.5-1.5*I,
	0,			-0.5-1.5*I,
	0.0,			-0.5-1.5*I,
	0.0L,			-0.5-1.5*I,
	2,			-0.125-0.375*I,
       -2,			-2.0  -6.0  *I,
	2.0,			-0.125-0.375*I,
       -2.0,			-2.0  -6.0  *I,
	2.0L,			-0.125-0.375*I,
       -2.0L,			-2.0  -6.0  *I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 0.5L+1.5L*I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0.5L+1.5L*I,
	0,			 0.5L+1.5L*I,
	0.0,			 0.5L+1.5L*I,
	0.0L,			 0.5L+1.5L*I,
	2,			 0.125L+0.375L*I,
       -2,			 2.0L  +6.0L  *I,
	2.0,			 0.125L+0.375L*I,
       -2.0,			 2.0L  +6.0L  *I,
	2.0L,			 0.125L+0.375L*I,
       -2.0L,			 2.0L  +6.0L  *I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			-0.5L-1.5L*I,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-0.5L-1.5L*I,
	0,			-0.5L-1.5L*I,
	0.0,			-0.5L-1.5L*I,
	0.0L,			-0.5L-1.5L*I,
	2,			-0.125L-0.375L*I,
       -2,			-2.0L  -6.0L  *I,
	2.0,			-0.125L-0.375L*I,
       -2.0,			-2.0L  -6.0L  *I,
	2.0L,			-0.125L-0.375L*I,
       -2.0L,			-2.0L  -6.0L  *I,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>',			 invalid,
	null,			 NAN,
	2,			 NAN,
	0x8000000000000000,	 NAN,
	1/2,			 NAN,
	0.5,			 NAN,
	0.5L,			 NAN,
	1/2 +3/2 *I,		 NAN,
	0.5 +1.5 *I,		 NAN,
	0.5L+1.5L*I,		 NAN,
        invalid,		 NAN);
binary('<<<',			 null,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			 0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	15,			 0,
       -15,			 0,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			 0.0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			 0.0L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	15,			 0,
       -15,			 0,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			 2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 2,
	0,			 2,
	0.0,			 2,
	0.0L,			 2,
	2,			 8,
       -2,			 0,
	2.0,			 8,
       -2.0,			 0,
	2.0L,			 8,
       -2.0L,			 0,
	3,			 16,
       -3,			 0,
	3.0,			 16,
       -3.0,			 0,
	3.0L,			 16,
       -3.0L,			 0,
	15,			 65536,
       -15,			 0,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			-2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-2,
	0,			-2,
	0.0,			-2,
	0.0L,			-2,
	2,			-8,
       -2,			-1,
	2.0,			-8,
       -2.0,			-1,
	2.0L,			-8,
       -2.0L,			-1,
	3,			-16,
       -3,			-1,
	3.0,			-16,
       -3.0,			-1,
	3.0L,			-16,
       -3.0L,			-1,
	15,			-65536,
       -15,			-1,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			 2.0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 2,
	0,			 2,
	0.0,			 2,
	0.0L,			 2,
	2,			 8,
       -2,			 0,
	2.0,			 8,
       -2.0,			 0,
	2.0L,			 8,
       -2.0L,			 0,
	3,			 16,
       -3,			 0,
	3.0,			 16,
       -3.0,			 0,
	3.0L,			 16,
       -3.0L,			 0,
	15,			 65536,
       -15,			 0,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			-2.0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-2,
	0,			-2,
	0.0,			-2,
	0.0L,			-2,
	2,			-8,
       -2,			-1,
	2.0,			-8,
       -2.0,			-1,
	2.0L,			-8,
       -2.0L,			-1,
	3,			-16,
       -3,			-1,
	3.0,			-16,
       -3.0,			-1,
	3.0L,			-16,
       -3.0L,			-1,
	15,			-65536,
       -15,			-1,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			 2.0L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 2,
	0,			 2,
	0.0,			 2,
	0.0L,			 2,
	2,			 8,
       -2,			 0,
	2.0,			 8,
       -2.0,			 0,
	2.0L,			 8,
       -2.0L,			 0,
	3,			 16,
       -3,			 0,
	3.0,			 16,
       -3.0,			 0,
	3.0L,			 16,
       -3.0L,			 0,
	15,			 65536,
       -15,			 0,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			-2.0L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-2,
	0,			-2,
	0.0,			-2,
	0.0L,			-2,
	2,			-8,
       -2,			-1,
	2.0,			-8,
       -2.0,			-1,
	2.0L,			-8,
       -2.0L,			-1,
	3,			-16,
       -3,			-1,
	3.0,			-16,
       -3.0,			-1,
	3.0L,			-16,
       -3.0L,			-1,
	15,			-65536,
       -15,			-1,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			 3,
	0,			 3,
	0.0,			 3,
	0.0L,			 3,
	2,			 12,
       -2,			 0,
	2.0,			 12,
       -2.0,			 0,
	2.0L,			 12,
       -2.0L,			 0,
	3,			 24,
       -3,			 0,
	3.0,			 24,
       -3.0,			 0,
	3.0L,			 24,
       -3.0L,			 0);
binary('<<<',			-3,
	0,			-3,
	0.0,			-3,
	0.0L,			-3,
	2,			-12,
       -2,			-1,
	2.0,			-12,
       -2.0,			-1,
	2.0L,			-12,
       -2.0L,			-1,
	3,			-24,
       -3,			-1,
	3.0,			-24,
       -3.0,			-1,
	3.0L,			-24,
       -3.0L,			-1);
binary('<<<',			 15,
	2,			 60,
       -2,			 3,
	2.0,			 60,
       -2.0,			 3,
	2.0L,			 60,
       -2.0L,			 3,
	3,			 120,
       -3,			 1,
	3.0,			 120,
       -3.0,			 1,
	3.0L,			 120,
       -3.0L,			 1);
binary('<<<',			-15,
	2,			-60,
       -2,			-4,
	2.0,			-60,
       -2.0,			-4,
	2.0L,			-60,
       -2.0L,			-4,
	3,			-120,
       -3,			-2,
	3.0,			-120,
       -3.0,			-2,
	3.0L,			-120,
       -3.0L,			-2);
binary('<<<',			 31/2,
	0,			 15,
	0.0,			 15,
	0.0L,			 15,
	2,			 60,
       -2,			 3,
	2.0,			 60,
       -2.0,			 3,
	2.0L,			 60,
       -2.0L,			 3,
	3,			 120,
       -3,			 1,
	3.0,			 120,
       -3.0,			 1,
	3.0L,			 120,
       -3.0L,			 1);
binary('<<<',			-31/2,
	0,			-16,
	0.0,			-16,
	0.0L,			-16,
	2,			-64,
       -2,			-4,
	2.0,			-64,
       -2.0,			-4,
	2.0L,			-64,
       -2.0L,			-4,
	3,			-128,
       -3,			-2,
	3.0,			-128,
       -3.0,			-2,
	3.0L,			-128,
       -3.0L,			-2);
binary('<<<',			 15.5,
	0,			 15,
	0.0,			 15,
	0.0L,			 15,
	2,			 60,
       -2,			 3,
	2.0,			 60,
       -2.0,			 3,
	2.0L,			 60,
       -2.0L,			 3,
	3,			 120,
       -3,			 1,
	3.0,			 120,
       -3.0,			 1,
	3.0L,			 120,
       -3.0L,			 1);
binary('<<<',			-15.5,
	0,			-16,
	0.0,			-16,
	0.0L,			-16,
	2,			-64,
       -2,			-4,
	2.0,			-64,
       -2.0,			-4,
	2.0L,			-64,
       -2.0L,			-4,
	3,			-128,
       -3,			-2,
	3.0,			-128,
       -3.0,			-2,
	3.0L,			-128,
       -3.0L,			-2);
binary('<<<',			 15.5L,
	0,			 15,
	0.0,			 15,
	0.0L,			 15,
	2,			 60,
       -2,			 3,
	2.0,			 60,
       -2.0,			 3,
	2.0L,			 60,
       -2.0L,			 3,
	3,			 120,
       -3,			 1,
	3.0,			 120,
       -3.0,			 1,
	3.0L,			 120,
       -3.0L,			 1);
binary('<<<',			-15.5L,
	0,			-16,
	0.0,			-16,
	0.0L,			-16,
	2,			-64,
       -2,			-4,
	2.0,			-64,
       -2.0,			-4,
	2.0L,			-64,
       -2.0L,			-4,
	3,			-128,
       -3,			-2,
	3.0,			-128,
       -3.0,			-2,
	3.0L,			-128,
       -3.0L,			-2);
binary('<<<',			 0x8000000000000000,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0x8000000000000000,
	0,			 0x8000000000000000,
	0.0,			 0x8000000000000000,
	0.0L,			 0x8000000000000000,
	2,			 0x20000000000000000,
       -2,			 0x2000000000000000,
	2.0,			 0x20000000000000000,
       -2.0,			 0x2000000000000000,
	2.0L,			 0x20000000000000000,
       -2.0L,			 0x2000000000000000,
	3,			 0x40000000000000000,
       -3,			 0x1000000000000000,
	3.0,			 0x40000000000000000,
       -3.0,			 0x1000000000000000,
	3.0L,			 0x40000000000000000,
       -3.0L,			 0x1000000000000000,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			-0x8000000000000000,
	null,			-0x8000000000000000,
	0,			-0x8000000000000000,
	0.0,			-0x8000000000000000,
	0.0L,			-0x8000000000000000,
	2,			-0x20000000000000000,
       -2,			-0x2000000000000000,
	2.0,			-0x20000000000000000,
       -2.0,			-0x2000000000000000,
	2.0L,			-0x20000000000000000,
       -2.0L,			-0x2000000000000000,
	3,			-0x40000000000000000,
       -3,			-0x1000000000000000,
	3.0,			-0x40000000000000000,
       -3.0,			-0x1000000000000000,
	3.0L,			-0x40000000000000000,
       -3.0L,			-0x1000000000000000,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('<<<',			 1/2+3/2*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<<<',			 0.5+0.5*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<<<',			 0.5L+0.5L*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('<<<',			 invalid,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>>>',			 null,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	0x8000000000000000,	 NA32BI,
	1/2,			 NA32BI,
	0.5,			 NA32BI,
	0.5L,			 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			 0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			 0.0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			 0.0L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 0,
       -2,			 0,
	2.0,			 0,
       -2.0,			 0,
	2.0L,			 0,
       -2.0L,			 0,
	3,			 0,
       -3,			 0,
	3.0,			 0,
       -3.0,			 0,
	3.0L,			 0,
       -3.0L,			 0,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			 2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 2,
	0,			 2,
	0.0,			 2,
	0.0L,			 2,
	2,			 0,
       -2,			 8,
	2.0,			 0,
       -2.0,			 8,
	2.0L,			 0,
       -2.0L,			 8,
	3,			 0,
       -3,			 16,
	3.0,			 0,
       -3.0,			 16,
	3.0L,			 0,
       -3.0L,			 16,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			-2,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-2,
	0,			-2,
	0.0,			-2,
	0.0L,			-2,
	2,			-1,
       -2,			-8,
	2.0,			-1,
       -2.0,			-8,
	2.0L,			-1,
       -2.0L,			-8,
	3,			-1,
       -3,			-16,
	3.0,			-1,
       -3.0,			-16,
	3.0L,			-1,
       -3.0L,			-16,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			 2.0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 2,
	0,			 2,
	0.0,			 2,
	0.0L,			 2,
	2,			 0,
       -2,			 8,
	2.0,			 0,
       -2.0,			 8,
	2.0L,			 0,
       -2.0L,			 8,
	3,			 0,
       -3,			 16,
	3.0,			 0,
       -3.0,			 16,
	3.0L,			 0,
       -3.0L,			 16,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			-2.0,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-2,
	0,			-2,
	0.0,			-2,
	0.0L,			-2,
	2,			-1,
       -2,			-8,
	2.0,			-1,
       -2.0,			-8,
	2.0L,			-1,
       -2.0L,			-8,
	3,			-1,
       -3,			-16,
	3.0,			-1,
       -3.0,			-16,
	3.0L,			-1,
       -3.0L,			-16,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			 2.0L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 2,
	0,			 2,
	0.0,			 2,
	0.0L,			 2,
	2,			 0,
       -2,			 8,
	2.0,			 0,
       -2.0,			 8,
	2.0L,			 0,
       -2.0L,			 8,
	3,			 0,
       -3,			 16,
	3.0,			 0,
       -3.0,			 16,
	3.0L,			 0,
       -3.0L,			 16,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			-2.0L,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			-2,
	0,			-2,
	0.0,			-2,
	0.0L,			-2,
	2,			-1,
       -2,			-8,
	2.0,			-1,
       -2.0,			-8,
	2.0L,			-1,
       -2.0L,			-8,
	3,			-1,
       -3,			-16,
	3.0,			-1,
       -3.0,			-16,
	3.0L,			-1,
       -3.0L,			-16,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			 3,
	0,			 3,
	0.0,			 3,
	0.0L,			 3,
	2,			 0,
       -2,			 12,
	2.0,			 0,
       -2.0,			 12,
	2.0L,			 0,
       -2.0L,			 12,
	3,			 0,
       -3,			 24,
	3.0,			 0,
       -3.0,			 24,
	3.0L,			 0,
       -3.0L,			 24);
binary('>>>',			-3,
	0,			-3,
	0.0,			-3,
	0.0L,			-3,
	2,			-1,
       -2,			-12,
	2.0,			-1,
       -2.0,			-12,
	2.0L,			-1,
       -2.0L,			-12,
	3,			-1,
       -3,			-24,
	3.0,			-1,
       -3.0,			-24,
	3.0L,			-1,
       -3.0L,			-24);
binary('>>>',			 3.0,
	0,			 3,
	0.0,			 3,
	0.0L,			 3,
	2,			 0,
       -2,			 12,
	2.0,			 0,
       -2.0,			 12,
	2.0L,			 0,
       -2.0L,			 12,
	3,			 0,
       -3,			 24,
	3.0,			 0,
       -3.0,			 24,
	3.0L,			 0,
       -3.0L,			 24);
binary('>>>',			-3.0,
	0,			-3,
	0.0,			-3,
	0.0L,			-3,
	2,			-1,
       -2,			-12,
	2.0,			-1,
       -2.0,			-12,
	2.0L,			-1,
       -2.0L,			-12,
	3,			-1,
       -3,			-24,
	3.0,			-1,
       -3.0,			-24,
	3.0L,			-1,
       -3.0L,			-24);
binary('>>>',			 3.0L,
	0,			 3,
	0.0,			 3,
	0.0L,			 3,
	2,			 0,
       -2,			 12,
	2.0,			 0,
       -2.0,			 12,
	2.0L,			 0,
       -2.0L,			 12,
	3,			 0,
       -3,			 24,
	3.0,			 0,
       -3.0,			 24,
	3.0L,			 0,
       -3.0L,			 24);
binary('>>>',			-3.0L,
	0,			-3,
	0.0,			-3,
	0.0L,			-3,
	2,			-1,
       -2,			-12,
	2.0,			-1,
       -2.0,			-12,
	2.0L,			-1,
       -2.0L,			-12,
	3,			-1,
       -3,			-24,
	3.0,			-1,
       -3.0,			-24,
	3.0L,			-1,
       -3.0L,			-24);
binary('>>>',			 15,
	0,			 15,
	0.0,			 15,
	0.0L,			 15,
	2,			 3,
       -2,			 60,
	2.0,			 3,
       -2.0,			 60,
	2.0L,			 3,
       -2.0L,			 60,
	3,			 1,
       -3,			 120,
	3.0,			 1,
       -3.0,			 120,
	3.0L,			 1,
       -3.0L,			 120);
binary('>>>',			-15,
	0,			-15,
	0.0,			-15,
	0.0L,			-15,
	2,			-4,
       -2,			-60,
	2.0,			-4,
       -2.0,			-60,
	2.0L,			-4,
       -2.0L,			-60,
	3,			-2,
       -3,			-120,
	3.0,			-2,
       -3.0,			-120,
	3.0L,			-2,
       -3.0L,			-120);
binary('>>>',			 31/2,
	0,			 15,
	0.0,			 15,
	0.0L,			 15,
	2,			 3,
       -2,			 60,
	2.0,			 3,
       -2.0,			 60,
	2.0L,			 3,
       -2.0L,			 60,
	3,			 1,
       -3,			 120,
	3.0,			 1,
       -3.0,			 120,
	3.0L,			 1,
       -3.0L,			 120);
binary('>>>',			-31/2,
	0,			-16,
	0.0,			-16,
	0.0L,			-16,
	2,			-4,
       -2,			-64,
	2.0,			-4,
       -2.0,			-64,
	2.0L,			-4,
       -2.0L,			-64,
	3,			-2,
       -3,			-128,
	3.0,			-2,
       -3.0,			-128,
	3.0L,			-2,
       -3.0L,			-128);
binary('>>>',			 15.5,
	0,			 15,
	0.0,			 15,
	0.0L,			 15,
	2,			 3,
       -2,			 60,
	2.0,			 3,
       -2.0,			 60,
	2.0L,			 3,
       -2.0L,			 60,
	3,			 1,
       -3,			 120,
	3.0,			 1,
       -3.0,			 120,
	3.0L,			 1,
       -3.0L,			 120);
binary('>>>',			-15.5,
	0,			-16,
	0.0,			-16,
	0.0L,			-16,
	2,			-4,
       -2,			-64,
	2.0,			-4,
       -2.0,			-64,
	2.0L,			-4,
       -2.0L,			-64,
	3,			-2,
       -3,			-128,
	3.0,			-2,
       -3.0,			-128,
	3.0L,			-2,
       -3.0L,			-128);
binary('>>>',			 15.5L,
	0,			 15,
	0.0,			 15,
	0.0L,			 15,
	2,			 3,
       -2,			 60,
	2.0,			 3,
       -2.0,			 60,
	2.0L,			 3,
       -2.0L,			 60,
	3,			 1,
       -3,			 120,
	3.0,			 1,
       -3.0,			 120,
	3.0L,			 1,
       -3.0L,			 120);
binary('>>>',			-15.5L,
	0,			-16,
	0.0,			-16,
	0.0L,			-16,
	2,			-4,
       -2,			-64,
	2.0,			-4,
       -2.0,			-64,
	2.0L,			-4,
       -2.0L,			-64,
	3,			-2,
       -3,			-128,
	3.0,			-2,
       -3.0,			-128,
	3.0L,			-2,
       -3.0L,			-128);
binary('>>>',			 0x8000000000000000,
	nan,			 NA32BI,
	inf,			 NA32BI,
	nanL,			 NA32BI,
	infL,			 NA32BI,
	null,			 0x8000000000000000,
	0,			 0x8000000000000000,
	0.0,			 0x8000000000000000,
	0.0L,			 0x8000000000000000,
	2,			 0x2000000000000000,
       -2,			 0x20000000000000000,
	2.0,			 0x2000000000000000,
       -2.0,			 0x20000000000000000,
	2.0L,			 0x2000000000000000,
       -2.0L,			 0x20000000000000000,
	3,			 0x1000000000000000,
       -3,			 0x40000000000000000,
	3.0,			 0x1000000000000000,
       -3.0,			 0x40000000000000000,
	3.0L,			 0x1000000000000000,
       -3.0L,			 0x40000000000000000,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			-0x8000000000000000,
	null,			-0x8000000000000000,
	0,			-0x8000000000000000,
	0.0,			-0x8000000000000000,
	0.0L,			-0x8000000000000000,
	2,			-0x2000000000000000,
       -2,			-0x20000000000000000,
	2.0,			-0x2000000000000000,
       -2.0,			-0x20000000000000000,
	2.0L,			-0x2000000000000000,
       -2.0L,			-0x20000000000000000,
	3,			-0x1000000000000000,
       -3,			-0x40000000000000000,
	3.0,			-0x1000000000000000,
       -3.0,			-0x40000000000000000,
	3.0L,			-0x1000000000000000,
       -3.0L,			-0x40000000000000000,
	31/2,			 NA32BI,
	15.5,			 NA32BI,
	15.5L,			 NA32BI,
	0x8000000000000000,	 NA32BI,
	1/2 +3/2 *I,		 NA32BI,
	0.5 +1.5 *I,		 NA32BI,
	0.5L+1.5L*I,		 NA32BI,
        invalid,		 NA32BI);
binary('>>>',			 1/2+3/2*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>>>',			 0.5+0.5*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>>>',			 0.5L+0.5L*I,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('>>>',			 invalid,
	nan,			 NARN,
	inf,			 NARN,
	nanL,			 NARN,
	infL,			 NARN,
	null,			 NARN,
	0,			 NARN,
	0.0,			 NARN,
	0.0L,			 NARN,
	2,			 NARN,
	2.0,			 NARN,
	2.0L,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 nan,
	nan,			 complex(nan,   nan),
	inf,			 complex(nan,   inf),
       -inf,			 complex(nan,  -inf),
	nanL,			 complex(nanL,  nanL),
	infL,			 complex(nanL,  infL),
       -infL,			 complex(nanL, -infL),
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 complex(nan,  2.0),
       -2,			 complex(nan, -2.0),
	2.0,			 complex(nan,  2.0),
       -2.0,			 complex(nan, -2.0),
	2.0L,			 complex(nan,  2.0L),
       -2.0L,			 complex(nan, -2.0L),
	0x8000000000000000,	 complex(nan,  0x8000000000000000.0),
       -0x8000000000000000,	 complex(nan, -0x8000000000000000.0),
	1/2,			 complex(nan,  0.5),
       -1/2,			 complex(nan, -0.5),
	0.5,			 complex(nan,  0.5),
       -0.5,			 complex(nan, -0.5),
	0.5L,			 complex(nan,  0.5L),
       -0.5L,			 complex(nan, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 inf,
	nan,			 complex(inf,   nan),
	inf,			 complex(inf,   inf),
       -inf,			 complex(inf,  -inf),
	nanL,			 complex(infL,  nanL),
	infL,			 complex(infL,  infL),
       -infL,			 complex(infL, -infL),
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 complex(inf,  2.0),
       -2,			 complex(inf, -2.0),
	2.0,			 complex(inf,  2.0),
       -2.0,			 complex(inf, -2.0),
	2.0L,			 complex(inf,  2.0L),
       -2.0L,			 complex(inf, -2.0L),
	0x8000000000000000,	 complex(inf,  0x8000000000000000.0),
       -0x8000000000000000,	 complex(inf, -0x8000000000000000.0),
	1/2,			 complex(inf,  0.5),
       -1/2,			 complex(inf, -0.5),
	0.5,			 complex(inf,  0.5),
       -0.5,			 complex(inf, -0.5),
	0.5L,			 complex(inf,  0.5L),
       -0.5L,			 complex(inf, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		-inf,
	nan,			 complex(-inf,   nan),
	inf,			 complex(-inf,   inf),
       -inf,			 complex(-inf,  -inf),
	nanL,			 complex(-infL,  nanL),
	infL,			 complex(-infL,  infL),
       -infL,			 complex(-infL, -infL),
	null,			-inf,
	0,			-inf,
	0.0,			-inf,
	0.0L,			-inf,
	2,			 complex(-inf,  2.0),
       -2,			 complex(-inf, -2.0),
	2.0,			 complex(-inf,  2.0),
       -2.0,			 complex(-inf, -2.0),
	2.0L,			 complex(-inf,  2.0L),
       -2.0L,			 complex(-inf, -2.0L),
	0x8000000000000000,	 complex(-inf,  0x8000000000000000.0),
       -0x8000000000000000,	 complex(-inf, -0x8000000000000000.0),
	1/2,			 complex(-inf,  0.5),
       -1/2,			 complex(-inf, -0.5),
	0.5,			 complex(-inf,  0.5),
       -0.5,			 complex(-inf, -0.5),
	0.5L,			 complex(-inf,  0.5L),
       -0.5L,			 complex(-inf, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 nanL,
	nan,			 complex(nanL,  nanL),
	inf,			 complex(nanL,  infL),
       -inf,			 complex(nanL, -infL),
	nanL,			 complex(nanL,  nanL),
	infL,			 complex(nanL,  infL),
       -infL,			 complex(nanL, -infL),
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 complex(nanL,  2.0L),
       -2,			 complex(nanL, -2.0L),
	2.0,			 complex(nanL,  2.0L),
       -2.0,			 complex(nanL, -2.0L),
	2.0L,			 complex(nanL,  2.0L),
       -2.0L,			 complex(nanL, -2.0L),
	0x8000000000000000,	 complex(nanL,  0x8000000000000000.0L),
       -0x8000000000000000,	 complex(nanL, -0x8000000000000000.0L),
	1/2,			 complex(nanL,  0.5L),
       -1/2,			 complex(nanL, -0.5L),
	0.5,			 complex(nanL,  0.5L),
       -0.5,			 complex(nanL, -0.5L),
	0.5L,			 complex(nanL,  0.5L),
       -0.5L,			 complex(nanL, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 infL,
	nan,			 complex(infL,  nanL),
	inf,			 complex(infL,  infL),
       -inf,			 complex(infL, -infL),
	nanL,			 complex(infL,  nanL),
	infL,			 complex(infL,  infL),
       -infL,			 complex(infL, -infL),
	null,			 infL,
	0,			 infL,
	0.0,			 infL,
	0.0L,			 infL,
	2,			 complex(infL,  2.0L),
       -2,			 complex(infL, -2.0L),
	2.0,			 complex(infL,  2.0L),
       -2.0,			 complex(infL, -2.0L),
	2.0L,			 complex(infL,  2.0L),
       -2.0L,			 complex(infL, -2.0L),
	0x8000000000000000,	 complex(infL,  0x8000000000000000.0L),
       -0x8000000000000000,	 complex(infL, -0x8000000000000000.0L),
	1/2,			 complex(infL,  0.5L),
       -1/2,			 complex(infL, -0.5L),
	0.5,			 complex(infL,  0.5L),
       -0.5,			 complex(infL, -0.5L),
	0.5L,			 complex(infL,  0.5L),
       -0.5L,			 complex(infL, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		-infL,
	nan,			 complex(-infL,  nanL),
	inf,			 complex(-infL,  infL),
       -inf,			 complex(-infL, -infL),
	nanL,			 complex(-infL,  nanL),
	infL,			 complex(-infL,  infL),
       -infL,			 complex(-infL, -infL),
	null,			-infL,
	0,			-infL,
	0.0,			-infL,
	0.0L,			-infL,
	2,			 complex(-infL,  2.0L),
       -2,			 complex(-infL, -2.0L),
	2.0,			 complex(-infL,  2.0L),
       -2.0,			 complex(-infL, -2.0L),
	2.0L,			 complex(-infL,  2.0L),
       -2.0L,			 complex(-infL, -2.0L),
	0x8000000000000000,	 complex(-infL,  0x8000000000000000.0L),
       -0x8000000000000000,	 complex(-infL, -0x8000000000000000.0L),
	1/2,			 complex(-infL,  0.5L),
       -1/2,			 complex(-infL, -0.5L),
	0.5,			 complex(-infL,  0.5L),
       -0.5,			 complex(-infL, -0.5L),
	0.5L,			 complex(-infL,  0.5L),
       -0.5L,			 complex(-infL, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 null,
	nan,			 complex(0.0,   nan),
	inf,			 complex(0.0,   inf),
       -inf,			 complex(0.0,  -inf),
	nanL,			 complex(0.0L,  nanL),
	infL,			 complex(0.0L,  infL),
       -infL,			 complex(0.0L, -infL),
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 complex(0,     2),
       -2,			 complex(0,    -2),
	2.0,			 complex(0.0,   2.0),
       -2.0,			 complex(0.0,  -2.0),
	2.0L,			 complex(0.0L,  2.0L),
       -2.0L,			 complex(0.0L, -2.0L),
	0x8000000000000000,	 complex(0,     0x8000000000000000),
       -0x8000000000000000,	 complex(0,    -0x8000000000000000),
	1/2,			 complex(0,     1/2),
       -1/2,			 complex(0,    -1/2),
	0.5,			 complex(0.0,   0.5),
       -0.5,			 complex(0.0,  -0.5),
	0.5L,			 complex(0.0L,  0.5L),
       -0.5L,			 complex(0.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 0,
	nan,			 complex(0.0,   nan),
	inf,			 complex(0.0,   inf),
       -inf,			 complex(0.0,  -inf),
	nanL,			 complex(0.0L,  nanL),
	infL,			 complex(0.0L,  infL),
       -infL,			 complex(0.0L, -infL),
	null,			 0,
	0,			 0,
	0.0,			 0,
	0.0L,			 0,
	2,			 complex(0,     2),
       -2,			 complex(0,    -2),
	2.0,			 complex(0.0,   2.0),
       -2.0,			 complex(0.0,  -2.0),
	2.0L,			 complex(0.0L,  2.0L),
       -2.0L,			 complex(0.0L, -2.0L),
	0x8000000000000000,	 complex(0,     0x8000000000000000),
       -0x8000000000000000,	 complex(0,    -0x8000000000000000),
	1/2,			 complex(0,     1/2),
       -1/2,			 complex(0,    -1/2),
	0.5,			 complex(0.0,   0.5),
       -0.5,			 complex(0.0,  -0.5),
	0.5L,			 complex(0.0L,  0.5L),
       -0.5L,			 complex(0.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 0.0,
	nan,			 complex(0.0,   nan),
	inf,			 complex(0.0,   inf),
       -inf,			 complex(0.0,  -inf),
	nanL,			 complex(0.0L,  nanL),
	infL,			 complex(0.0L,  infL),
       -infL,			 complex(0.0L, -infL),
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0,
	2,			 complex(0.0,   2.0),
       -2,			 complex(0.0,  -2.0),
	2.0,			 complex(0.0,   2.0),
       -2.0,			 complex(0.0,  -2.0),
	2.0L,			 complex(0.0L,  2.0L),
       -2.0L,			 complex(0.0L, -2.0L),
	0x8000000000000000,	 complex(0.0,   0x8000000000000000.0),
       -0x8000000000000000,	 complex(0.0,  -0x8000000000000000.0),
	1/2,			 complex(0.0,   0.5),
       -1/2,			 complex(0.0,  -0.5),
	0.5,			 complex(0.0,   0.5),
       -0.5,			 complex(0.0,  -0.5),
	0.5L,			 complex(0.0L,  0.5L),
       -0.5L,			 complex(0.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 0.0L,
	nan,			 complex(0.0L,  nanL),
	inf,			 complex(0.0L,  infL),
       -inf,			 complex(0.0L, -infL),
	nanL,			 complex(0.0L,  nanL),
	infL,			 complex(0.0L,  infL),
       -infL,			 complex(0.0L, -infL),
	null,			 0.0L,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			 complex(0.0L,  2.0L),
       -2,			 complex(0.0L, -2.0L),
	2.0,			 complex(0.0L,  2.0L),
       -2.0,			 complex(0.0L, -2.0L),
	2.0L,			 complex(0.0L,  2.0L),
       -2.0L,			 complex(0.0L, -2.0L),
	0x8000000000000000,	 complex(0.0L,  0x8000000000000000.0L),
       -0x8000000000000000,	 complex(0.0L, -0x8000000000000000.0L),
	1/2,			 complex(0.0L,  0.5L),
       -1/2,			 complex(0.0L, -0.5L),
	0.5,			 complex(0.0L,  0.5L),
       -0.5,			 complex(0.0L, -0.5L),
	0.5L,			 complex(0.0L,  0.5L),
       -0.5L,			 complex(0.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 2,
	nan,			 complex(2.0,   nan),
	inf,			 complex(2.0,   inf),
       -inf,			 complex(2.0,  -inf),
	nanL,			 complex(2.0L,  nanL),
	infL,			 complex(2.0L,  infL),
       -infL,			 complex(2.0L, -infL),
	null,			 2,
	0,			 2,
	0.0,			 2,
	0.0L,			 2,
	2,			 complex(2,     2),
       -2,			 complex(2,    -2),
	2.0,			 complex(2.0,   2.0),
       -2.0,			 complex(2.0,  -2.0),
	2.0L,			 complex(2.0L,  2.0L),
       -2.0L,			 complex(2.0L, -2.0L),
	0x8000000000000000,	 complex(2,     0x8000000000000000),
       -0x8000000000000000,	 complex(2,    -0x8000000000000000),
	1/2,			 complex(2,     1/2),
       -1/2,			 complex(2,    -1/2),
	0.5,			 complex(2.0,   0.5),
       -0.5,			 complex(2.0,  -0.5),
	0.5L,			 complex(2.0L,  0.5L),
       -0.5L,			 complex(2.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		-2,
	nan,			 complex(-2.0,   nan),
	inf,			 complex(-2.0,   inf),
       -inf,			 complex(-2.0,  -inf),
	nanL,			 complex(-2.0L,  nanL),
	infL,			 complex(-2.0L,  infL),
       -infL,			 complex(-2.0L, -infL),
	null,			-2,
	0,			-2,
	0.0,			-2,
	0.0L,			-2,
	2,			 complex(-2,     2),
       -2,			 complex(-2,    -2),
	2.0,			 complex(-2.0,   2.0),
       -2.0,			 complex(-2.0,  -2.0),
	2.0L,			 complex(-2.0L,  2.0L),
       -2.0L,			 complex(-2.0L, -2.0L),
	0x8000000000000000,	 complex(-2,     0x8000000000000000),
       -0x8000000000000000,	 complex(-2,    -0x8000000000000000),
	1/2,			 complex(-2,     1/2),
       -1/2,			 complex(-2,    -1/2),
	0.5,			 complex(-2.0,   0.5),
       -0.5,			 complex(-2.0,  -0.5),
	0.5L,			 complex(-2.0L,  0.5L),
       -0.5L,			 complex(-2.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 2.0,
	nan,			 complex(2.0,   nan),
	inf,			 complex(2.0,   inf),
       -inf,			 complex(2.0,  -inf),
	nanL,			 complex(2.0L,  nanL),
	infL,			 complex(2.0L,  infL),
       -infL,			 complex(2.0L, -infL),
	null,			 2.0,
	0,			 2.0,
	0.0,			 2.0,
	0.0L,			 2.0,
	2,			 complex(2.0,   2.0),
       -2,			 complex(2.0,  -2.0),
	2.0,			 complex(2.0,   2.0),
       -2.0,			 complex(2.0,  -2.0),
	2.0L,			 complex(2.0L,  2.0L),
       -2.0L,			 complex(2.0L, -2.0L),
	0x8000000000000000,	 complex(2.0,   0x8000000000000000.0),
       -0x8000000000000000,	 complex(2.0,  -0x8000000000000000.0),
	1/2,			 complex(2.0,   0.5),
       -1/2,			 complex(2.0,  -0.5),
	0.5,			 complex(2.0,   0.5),
       -0.5,			 complex(2.0,  -0.5),
	0.5L,			 complex(2.0L,  0.5L),
       -0.5L,			 complex(2.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		-2.0,
	nan,			 complex(-2.0,   nan),
	inf,			 complex(-2.0,   inf),
       -inf,			 complex(-2.0,  -inf),
	nanL,			 complex(-2.0L,  nanL),
	infL,			 complex(-2.0L,  infL),
       -infL,			 complex(-2.0L, -infL),
	null,			-2.0,
	0,			-2.0,
	0.0,			-2.0,
	0.0L,			-2.0,
	2,			 complex(-2.0,   2.0),
       -2,			 complex(-2.0,  -2.0),
	2.0,			 complex(-2.0,   2.0),
       -2.0,			 complex(-2.0,  -2.0),
	2.0L,			 complex(-2.0L,  2.0L),
       -2.0L,			 complex(-2.0L, -2.0L),
	0x8000000000000000,	 complex(-2.0,   0x8000000000000000.0),
       -0x8000000000000000,	 complex(-2.0,  -0x8000000000000000.0),
	1/2,			 complex(-2.0,   0.5),
       -1/2,			 complex(-2.0,  -0.5),
	0.5,			 complex(-2.0,   0.5),
       -0.5,			 complex(-2.0,  -0.5),
	0.5L,			 complex(-2.0L,  0.5L),
       -0.5L,			 complex(-2.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 2.0L,
	nan,			 complex(2.0L,  nanL),
	inf,			 complex(2.0L,  infL),
       -inf,			 complex(2.0L, -infL),
	nanL,			 complex(2.0L,  nanL),
	infL,			 complex(2.0L,  infL),
       -infL,			 complex(2.0L, -infL),
	null,			 2.0L,
	0,			 2.0L,
	0.0,			 2.0L,
	0.0L,			 2.0L,
	2,			 complex(2.0L,  2.0L),
       -2,			 complex(2.0L, -2.0L),
	2.0,			 complex(2.0L,  2.0L),
       -2.0,			 complex(2.0L, -2.0L),
	2.0L,			 complex(2.0L,  2.0L),
       -2.0L,			 complex(2.0L, -2.0L),
	0x8000000000000000,	 complex(2.0L,  0x8000000000000000.0L),
       -0x8000000000000000,	 complex(2.0L, -0x8000000000000000.0L),
	1/2,			 complex(2.0L,  0.5L),
       -1/2,			 complex(2.0L, -0.5L),
	0.5,			 complex(2.0L,  0.5L),
       -0.5,			 complex(2.0L, -0.5L),
	0.5L,			 complex(2.0L,  0.5L),
       -0.5L,			 complex(2.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		-2.0L,
	nan,			 complex(-2.0L,  nanL),
	inf,			 complex(-2.0L,  infL),
       -inf,			 complex(-2.0L, -infL),
	nanL,			 complex(-2.0L,  nanL),
	infL,			 complex(-2.0L,  infL),
       -infL,			 complex(-2.0L, -infL),
	null,			-2.0L,
	0,			-2.0L,
	0.0,			-2.0L,
	0.0L,			-2.0L,
	2,			 complex(-2.0L,  2.0L),
       -2,			 complex(-2.0L, -2.0L),
	2.0,			 complex(-2.0L,  2.0L),
       -2.0,			 complex(-2.0L, -2.0L),
	2.0L,			 complex(-2.0L,  2.0L),
       -2.0L,			 complex(-2.0L, -2.0L),
	0x8000000000000000,	 complex(-2.0L,  0x8000000000000000.0L),
       -0x8000000000000000,	 complex(-2.0L, -0x8000000000000000.0L),
	1/2,			 complex(-2.0L,  0.5L),
       -1/2,			 complex(-2.0L, -0.5L),
	0.5,			 complex(-2.0L,  0.5L),
       -0.5,			 complex(-2.0L, -0.5L),
	0.5L,			 complex(-2.0L,  0.5L),
       -0.5L,			 complex(-2.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 0x8000000000000000,
	nan,			 complex(0x8000000000000000.0,   nan),
	inf,			 complex(0x8000000000000000.0,   inf),
       -inf,			 complex(0x8000000000000000.0,  -inf),
	nanL,			 complex(0x8000000000000000.0L,  nanL),
	infL,			 complex(0x8000000000000000.0L,  infL),
       -infL,			 complex(0x8000000000000000.0L, -infL),
	null,			 0x8000000000000000,
	0,			 0x8000000000000000,
	0.0,			 0x8000000000000000,
	0.0L,			 0x8000000000000000,
	2,			 complex(0x8000000000000000,     2),
       -2,			 complex(0x8000000000000000,    -2),
	2.0,			 complex(0x8000000000000000.0,   2.0),
       -2.0,			 complex(0x8000000000000000.0,  -2.0),
	2.0L,			 complex(0x8000000000000000.0L,  2.0L),
       -2.0L,			 complex(0x8000000000000000.0L, -2.0L),
	0x8000000000000000,	 complex(0x8000000000000000,     0x8000000000000000),
       -0x8000000000000000,	 complex(0x8000000000000000,    -0x8000000000000000),
	1/2,			 complex(0x8000000000000000,     1/2),
       -1/2,			 complex(0x8000000000000000,    -1/2),
	0.5,			 complex(0x8000000000000000.0,   0.5),
       -0.5,			 complex(0x8000000000000000.0,  -0.5),
	0.5L,			 complex(0x8000000000000000.0L,  0.5L),
       -0.5L,			 complex(0x8000000000000000.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		-0x8000000000000000,
	nan,			 complex(-0x8000000000000000.0,   nan),
	inf,			 complex(-0x8000000000000000.0,   inf),
       -inf,			 complex(-0x8000000000000000.0,  -inf),
	nanL,			 complex(-0x8000000000000000.0L,  nanL),
	infL,			 complex(-0x8000000000000000.0L,  infL),
       -infL,			 complex(-0x8000000000000000.0L, -infL),
	null,			-0x8000000000000000,
	0,			-0x8000000000000000,
	0.0,			-0x8000000000000000,
	0.0L,			-0x8000000000000000,
	2,			 complex(-0x8000000000000000,     2),
       -2,			 complex(-0x8000000000000000,    -2),
	2.0,			 complex(-0x8000000000000000.0,   2.0),
       -2.0,			 complex(-0x8000000000000000.0,  -2.0),
	2.0L,			 complex(-0x8000000000000000.0,   2.0L),
       -2.0L,			 complex(-0x8000000000000000.0,  -2.0L),
	0x8000000000000000,	 complex(-0x8000000000000000,     0x8000000000000000),
       -0x8000000000000000,	 complex(-0x8000000000000000,    -0x8000000000000000),
	1/2,			 complex(-0x8000000000000000,     1/2),
       -1/2,			 complex(-0x8000000000000000,    -1/2),
	0.5,			 complex(-0x8000000000000000.0,   0.5),
       -0.5,			 complex(-0x8000000000000000.0,  -0.5),
	0.5L,			 complex(-0x8000000000000000.0L,  0.5L),
       -0.5L,			 complex(-0x8000000000000000.0L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 1/2,
	nan,			 complex(0.5,   nan),
	inf,			 complex(0.5,   inf),
       -inf,			 complex(0.5,  -inf),
	nanL,			 complex(0.5L,  nanL),
	infL,			 complex(0.5L,  infL),
       -infL,			 complex(0.5L, -infL),
	null,			 1/2,
	0,			 1/2,
	0.0,			 1/2,
	0.0L,			 1/2,
	2,			 complex(1/2,   2),
       -2,			 complex(1/2,  -2),
	2.0,			 complex(0.5,   2.0),
       -2.0,			 complex(0.5,  -2.0),
	2.0L,			 complex(0.5L,  2.0L),
       -2.0L,			 complex(0.5L, -2.0L),
	0x8000000000000000,	 complex(1/2,   0x8000000000000000),
       -0x8000000000000000,	 complex(1/2,  -0x8000000000000000),
	1/2,			 complex(1/2,   1/2),
       -1/2,			 complex(1/2,  -1/2),
	0.5,			 complex(0.5,   0.5),
       -0.5,			 complex(0.5,  -0.5),
	0.5L,			 complex(0.5L,  0.5L),
       -0.5L,			 complex(0.5L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		-1/2,
	nan,			 complex(-0.5,   nan),
	inf,			 complex(-0.5,   inf),
       -inf,			 complex(-0.5,  -inf),
	nanL,			 complex(-0.5L,  nanL),
	infL,			 complex(-0.5L,  infL),
       -infL,			 complex(-0.5L, -infL),
	null,			-1/2,
	0,			-1/2,
	0.0,			-1/2,
	0.0L,			-1/2,
	2,			 complex(-1/2,   2),
       -2,			 complex(-1/2,  -2),
	2.0,			 complex(-0.5,   2.0),
       -2.0,			 complex(-0.5,  -2.0),
	2.0L,			 complex(-0.5L,  2.0L),
       -2.0L,			 complex(-0.5L, -2.0L),
	0x8000000000000000,	 complex(-1/2,   0x8000000000000000),
       -0x8000000000000000,	 complex(-1/2,  -0x8000000000000000),
	1/2,			 complex(-1/2,   1/2),
       -1/2,			 complex(-1/2,  -1/2),
	0.5,			 complex(-0.5,   0.5),
       -0.5,			 complex(-0.5,  -0.5),
	0.5L,			 complex(-0.5L,  0.5L),
       -0.5L,			 complex(-0.5L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 0.5,
	nan,			 complex(0.5,   nan),
	inf,			 complex(0.5,   inf),
       -inf,			 complex(0.5,  -inf),
	nanL,			 complex(0.5L,  nanL),
	infL,			 complex(0.5L,  infL),
       -infL,			 complex(0.5L, -infL),
	null,			 0.5,
	0,			 0.5,
	0.0,			 0.5,
	0.0L,			 0.5,
	2,			 complex(0.5,   2.0),
       -2,			 complex(0.5,  -2.0),
	2.0,			 complex(0.5,   2.0),
       -2.0,			 complex(0.5,  -2.0),
	2.0L,			 complex(0.5L,  2.0L),
       -2.0L,			 complex(0.5L, -2.0L),
	0x8000000000000000,	 complex(0.5,   0x8000000000000000.0),
       -0x8000000000000000,	 complex(0.5,  -0x8000000000000000.0),
	1/2,			 complex(0.5,   0.5),
       -1/2,			 complex(0.5,  -0.5),
	0.5,			 complex(0.5,   0.5),
       -0.5,			 complex(0.5,  -0.5),
	0.5L,			 complex(0.5L,  0.5L),
       -0.5L,			 complex(0.5L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		-0.5,
	nan,			 complex(-0.5,   nan),
	inf,			 complex(-0.5,   inf),
       -inf,			 complex(-0.5,  -inf),
	nanL,			 complex(-0.5L,  nanL),
	infL,			 complex(-0.5L,  infL),
       -infL,			 complex(-0.5L, -infL),
	null,			-0.5,
	0,			-0.5,
	0.0,			-0.5,
	0.0L,			-0.5,
	2,			 complex(-0.5,   2.0),
       -2,			 complex(-0.5,  -2.0),
	2.0,			 complex(-0.5,   2.0),
       -2.0,			 complex(-0.5,  -2.0),
	2.0L,			 complex(-0.5L,  2.0L),
       -2.0L,			 complex(-0.5L, -2.0L),
	0x8000000000000000,	 complex(-0.5,   0x8000000000000000.0),
       -0x8000000000000000,	 complex(-0.5,  -0x8000000000000000.0),
	1/2,			 complex(-0.5,   0.5),
       -1/2,			 complex(-0.5,  -0.5),
	0.5,			 complex(-0.5,   0.5),
       -0.5,			 complex(-0.5,  -0.5),
	0.5L,			 complex(-0.5L,  0.5L),
       -0.5L,			 complex(-0.5L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 0.5L,
	nan,			 complex(0.5L,  nanL),
	inf,			 complex(0.5L,  infL),
       -inf,			 complex(0.5L, -infL),
	nanL,			 complex(0.5L,  nanL),
	infL,			 complex(0.5L,  infL),
       -infL,			 complex(0.5L, -infL),
	null,			 0.5L,
	0,			 0.5L,
	0.0,			 0.5L,
	0.0L,			 0.5L,
	2,			 complex(0.5L,  2.0L),
       -2,			 complex(0.5L, -2.0L),
	2.0,			 complex(0.5L,  2.0L),
       -2.0,			 complex(0.5L, -2.0L),
	2.0L,			 complex(0.5L,  2.0L),
       -2.0L,			 complex(0.5L, -2.0L),
	0x8000000000000000,	 complex(0.5L,  0x8000000000000000.0L),
       -0x8000000000000000,	 complex(0.5L, -0x8000000000000000.0L),
	1/2,			 complex(0.5L,  0.5L),
       -1/2,			 complex(0.5L, -0.5L),
	0.5,			 complex(0.5L,  0.5L),
       -0.5,			 complex(0.5L, -0.5L),
	0.5L,			 complex(0.5L,  0.5L),
       -0.5L,			 complex(0.5L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		-0.5L,
	nan,			 complex(-0.5L,  nanL),
	inf,			 complex(-0.5L,  infL),
       -inf,			 complex(-0.5L, -infL),
	nanL,			 complex(-0.5L,  nanL),
	infL,			 complex(-0.5L,  infL),
       -infL,			 complex(-0.5L, -infL),
	null,			-0.5L,
	0,			-0.5L,
	0.0,			-0.5L,
	0.0L,			-0.5L,
	2,			 complex(-0.5L,  2.0L),
       -2,			 complex(-0.5L, -2.0L),
	2.0,			 complex(-0.5L,  2.0L),
       -2.0,			 complex(-0.5L, -2.0L),
	2.0L,			 complex(-0.5L,  2.0L),
       -2.0L,			 complex(-0.5L, -2.0L),
	0x8000000000000000,	 complex(-0.5L,  0x8000000000000000.0L),
       -0x8000000000000000,	 complex(-0.5L, -0x8000000000000000.0L),
	1/2,			 complex(-0.5L,  0.5L),
       -1/2,			 complex(-0.5L, -0.5L),
	0.5,			 complex(-0.5L,  0.5L),
       -0.5,			 complex(-0.5L, -0.5L),
	0.5L,			 complex(-0.5L,  0.5L),
       -0.5L,			 complex(-0.5L, -0.5L),
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 1/2+3/2*I,
	null,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	0.5,			 NARN,
	0.5L,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 0.5+1.5*I,
	null,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	0.5,			 NARN,
	0.5L,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('complex',		 0.5L+1.5L*I,
	null,			 NARN,
	0x8000000000000000,	 NARN,
	1/2,			 NARN,
	0.5,			 NARN,
	0.5L,			 NARN,
	1/2 +3/2 *I,		 NARN,
	0.5 +1.5 *I,		 NARN,
	0.5L+1.5L*I,		 NARN,
        invalid,		 NARN);
binary('atan2',			 nan,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nanL,
	2,			 nan,
       -2,			 nan,
	2.0,			 nan,
       -2.0,			 nan,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	0x8000000000000000,	 nan,
       -0x8000000000000000,	 nan,
	1/2,			 nan,
       -1/2,			 nan,
	0.5,			 nan,
       -0.5,			 nan,
	0.5L,			 nanL,
       -0.5L,			 nanL,
	1/2 +3/2 *I,		 nan +nan *I,
       -1/2 -3/2 *I,		 nan +nan *I,
	0.5 +1.5 *I,		 nan +nan *I,
       -0.5 -1.5 *I,		 nan +nan *I,
	0.5L+1.5L*I,		 nanL+nanL*I,
       -0.5L-1.5L*I,		 nanL+nanL*I,
        invalid,		 NAN);
binary('atan2',			 inf,
	nan,			 nan,
	inf,			 0.78539816339744828,
       -inf,			 2.3561944901923448,
	nanL,			 nanL,
	infL,			 0.78539816339744828L,
       -infL,			 2.3561944901923448L,
	null,			 1.5707963267948966,
	0,			 1.5707963267948966,
	0.0,			 1.5707963267948966,
	0.0L,			 1.5707963267948966L,
	2,			 1.5707963267948966,
       -2,			 1.5707963267948966,
	2.0,			 1.5707963267948966,
       -2.0,			 1.5707963267948966,
	2.0L,			 1.5707963267948966L,
       -2.0L,			 1.5707963267948966L,
	0x8000000000000000,	 1.5707963267948966,
       -0x8000000000000000,	 1.5707963267948966,
	1/2,			 1.5707963267948966,
       -1/2,			 1.5707963267948966,
	0.5,			 1.5707963267948966,
       -0.5,			 1.5707963267948966,
	0.5L,			 1.5707963267948966L,
       -0.5L,			 1.5707963267948966L,
	1/2 +3/2 *I,		 1.5707963267948966,
       -1/2 -3/2 *I,		-1.5707963267948966,
	0.5 +1.5 *I,		 1.5707963267948966,
       -0.5 -1.5 *I,		-1.5707963267948966,
	0.5L+1.5L*I,		 1.5707963267948966L,
       -0.5L-1.5L*I,		-1.5707963267948966L,
        invalid,		 NAN);
binary('atan2',			-inf,
	nan,			 nan,
	inf,			-0.78539816339744828,
       -inf,			-2.3561944901923448,
	nanL,			 nanL,
	infL,			-0.78539816339744828L,
       -infL,			-2.3561944901923448L,
	null,			-1.5707963267948966,
	0,			-1.5707963267948966,
	0.0,			-1.5707963267948966,
	0.0L,			-1.5707963267948966L,
	2,			-1.5707963267948966,
       -2,			-1.5707963267948966,
	2.0,			-1.5707963267948966,
       -2.0,			-1.5707963267948966,
	2.0L,			-1.5707963267948966L,
       -2.0L,			-1.5707963267948966L,
	0x8000000000000000,	-1.5707963267948966,
       -0x8000000000000000,	-1.5707963267948966,
	1/2,			-1.5707963267948966,
       -1/2,			-1.5707963267948966,
	0.5,			-1.5707963267948966,
       -0.5,			-1.5707963267948966,
	0.5L,			-1.5707963267948966L,
       -0.5L,			-1.5707963267948966L,
	1/2 +3/2 *I,		-1.5707963267948966,
       -1/2 -3/2 *I,		 1.5707963267948966,
	0.5 +1.5 *I,		-1.5707963267948966,
       -0.5 -1.5 *I,		 1.5707963267948966,
	0.5L+1.5L*I,		-1.5707963267948966L,
       -0.5L-1.5L*I,		 1.5707963267948966L,
        invalid,		 NAN);
binary('atan2',			 nanL,
	nan,			 nanL,
	inf,			 nanL,
       -inf,			 nanL,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 nanL,
       -2,			 nanL,
	2.0,			 nanL,
       -2.0,			 nanL,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	0x8000000000000000,	 nanL,
       -0x8000000000000000,	 nanL,
	1/2,			 nanL,
       -1/2,			 nanL,
	0.5,			 nanL,
       -0.5,			 nanL,
	0.5L,			 nanL,
       -0.5L,			 nanL,
	1/2 +3/2 *I,		 nanL+nanL*I,
       -1/2 -3/2 *I,		 nanL+nanL*I,
	0.5 +1.5 *I,		 nanL+nanL*I,
       -0.5 -1.5 *I,		 nanL+nanL*I,
	0.5L+1.5L*I,		 nanL+nanL*I,
       -0.5L-1.5L*I,		 nanL+nanL*I,
        invalid,		 NAN);
binary('atan2',			 infL,
	nan,			 nanL,
	inf,			 0.78539816339744828L,
       -inf,			 2.3561944901923448L,
	nanL,			 nanL,
	infL,			 0.78539816339744828L,
       -infL,			 2.3561944901923448L,
	null,			 1.5707963267948966L,
	0,			 1.5707963267948966L,
	0.0,			 1.5707963267948966L,
	0.0L,			 1.5707963267948966L,
	2,			 1.5707963267948966L,
       -2,			 1.5707963267948966L,
	2.0,			 1.5707963267948966L,
       -2.0,			 1.5707963267948966L,
	2.0L,			 1.5707963267948966L,
       -2.0L,			 1.5707963267948966L,
	0x8000000000000000,	 1.5707963267948966L,
       -0x8000000000000000,	 1.5707963267948966L,
	1/2,			 1.5707963267948966L,
       -1/2,			 1.5707963267948966L,
	0.5,			 1.5707963267948966L,
       -0.5,			 1.5707963267948966L,
	0.5L,			 1.5707963267948966L,
       -0.5L,			 1.5707963267948966L,
	1/2 +3/2 *I,		 1.5707963267948966L,
       -1/2 -3/2 *I,		-1.5707963267948966L,
	0.5 +1.5 *I,		 1.5707963267948966L,
       -0.5 -1.5 *I,		-1.5707963267948966L,
	0.5L+1.5L*I,		 1.5707963267948966L,
       -0.5L-1.5L*I,		-1.5707963267948966L,
        invalid,		 NAN);
binary('atan2',			-infL,
	nan,			 nanL,
	inf,			-0.78539816339744828L,
       -inf,			-2.3561944901923448L,
	nanL,			 nanL,
	infL,			-0.78539816339744828L,
       -infL,			-2.3561944901923448L,
	null,			-1.5707963267948966L,
	0,			-1.5707963267948966L,
	0.0,			-1.5707963267948966L,
	0.0L,			-1.5707963267948966L,
	2,			-1.5707963267948966L,
       -2,			-1.5707963267948966L,
	2.0,			-1.5707963267948966L,
       -2.0,			-1.5707963267948966L,
	2.0L,			-1.5707963267948966L,
       -2.0L,			-1.5707963267948966L,
	0x8000000000000000,	-1.5707963267948966L,
       -0x8000000000000000,	-1.5707963267948966L,
	1/2,			-1.5707963267948966L,
       -1/2,			-1.5707963267948966L,
	0.5,			-1.5707963267948966L,
       -0.5,			-1.5707963267948966L,
	0.5L,			-1.5707963267948966L,
       -0.5L,			-1.5707963267948966L,
	1/2 +3/2 *I,		-1.5707963267948966L,
       -1/2 -3/2 *I,		 1.5707963267948966L,
	0.5 +1.5 *I,		-1.5707963267948966L,
       -0.5 -1.5 *I,		 1.5707963267948966L,
	0.5L+1.5L*I,		-1.5707963267948966L,
       -0.5L-1.5L*I,		 1.5707963267948966L,
        invalid,		 NAN);
binary('atan2',			 null,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 3.1415926535897932385,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 3.1415926535897932385L,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 0.0,
       -2,			 3.1415926535897932385,
	2.0,			 0.0,
       -2.0,			 3.1415926535897932385,
	2.0L,			 0.0,
       -2.0L,			 3.1415926535897932385L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 3.1415926535897932385,
	1/2,			 0.0,
       -1/2,			 3.1415926535897932385,
	0.5,			 0.0,
       -0.5,			 3.1415926535897932385,
	0.5L,			 0.0L,
       -0.5L,			 3.1415926535897932385L,
	1/2 +3/2 *I,		 0.0,
       -1/2 -3/2 *I,		 3.1415926535897932385,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 3.1415926535897932385,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 3.1415926535897932385L,
        invalid,		 NAN);
binary('atan2',			 0,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 3.1415926535897932385,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 3.1415926535897932385L,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 0.0,
       -2,			 3.1415926535897932385,
	2.0,			 0.0,
       -2.0,			 3.1415926535897932385,
	2.0L,			 0.0,
       -2.0L,			 3.1415926535897932385L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 3.1415926535897932385,
	1/2,			 0.0,
       -1/2,			 3.1415926535897932385,
	0.5,			 0.0,
       -0.5,			 3.1415926535897932385,
	0.5L,			 0.0L,
       -0.5L,			 3.1415926535897932385L,
	1/2 +3/2 *I,		 0.0,
       -1/2 -3/2 *I,		 3.1415926535897932385,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 3.1415926535897932385,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 3.1415926535897932385L,
        invalid,		 NAN);
binary('atan2',			 0.0,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 3.1415926535897932385,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 3.1415926535897932385L,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 0.0,
       -2,			 3.1415926535897932385,
	2.0,			 0.0,
       -2.0,			 3.1415926535897932385,
	2.0L,			 0.0,
       -2.0L,			 3.1415926535897932385L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 3.1415926535897932385,
	1/2,			 0.0,
       -1/2,			 3.1415926535897932385,
	0.5,			 0.0,
       -0.5,			 3.1415926535897932385,
	0.5L,			 0.0L,
       -0.5L,			 3.1415926535897932385L,
	1/2 +3/2 *I,		 0.0,
       -1/2 -3/2 *I,		 3.1415926535897932385,
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 3.1415926535897932385,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 3.1415926535897932385L,
        invalid,		 NAN);
binary('atan2',			 0.0L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 3.1415926535897932385L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 3.1415926535897932385L,
	null,			 0.0L,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			 0.0L,
       -2,			 3.1415926535897932385L,
	2.0,			 0.0L,
       -2.0,			 3.1415926535897932385L,
	2.0L,			 0.0L,
       -2.0L,			 3.1415926535897932385L,
	0x8000000000000000,	 0.0L,
       -0x8000000000000000,	 3.1415926535897932385L,
	1/2,			 0.0L,
       -1/2,			 3.1415926535897932385L,
	0.5,			 0.0L,
       -0.5,			 3.1415926535897932385L,
	0.5L,			 0.0L,
       -0.5L,			 3.1415926535897932385L,
	1/2 +3/2 *I,		 0.0L,
       -1/2 -3/2 *I,		 3.1415926535897932385L,
	0.5 +1.5 *I,		 0.0L,
       -0.5 -1.5 *I,		 3.1415926535897932385L,
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 3.1415926535897932385L,
        invalid,		 NAN);
binary('atan2',			 2,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 3.1415926535897932385,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 3.1415926535897932385L,
	null,			 1.5707963267948966,
	0,			 1.5707963267948966,
	0.0,			 1.5707963267948966,
	0.0L,			 1.5707963267948966L,
	2,			 0.78539816339744828,
       -2,			 2.3561944901923448,
	2.0,			 0.78539816339744828,
       -2.0,			 2.3561944901923448,
	2.0L,			 0.78539816339744828L,
       -2.0L,			 2.3561944901923448L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 3.1415926535897932385,
	1/2,			 1.3258176636680326,
       -1/2,			 1.8157749899217608,
	0.5,			 1.3258176636680326,
       -0.5,			 1.8157749899217608,
	0.5L,			 1.3258176636680326L,
       -0.5L,			 1.8157749899217608L,
	1/2 +3/2 *I,		 1.1071487177940904 -0.80471895621705025 *I,
       -1/2 -3/2 *I,		-1.1071487177940904 +0.80471895621705025 *I,
	0.5 +1.5 *I,		 1.1071487177940904 -0.80471895621705025 *I,
       -0.5 -1.5 *I,		-1.1071487177940904 +0.80471895621705025 *I,
	0.5L+1.5L*I,		 1.1071487177940904L-0.80471895621705025L*I,
       -0.5L-1.5L*I,		-1.1071487177940904L+0.80471895621705025L*I,
        invalid,		 NAN);
binary('atan2',			-2,
	nan,			 nan,
	inf,			 0.0,
       -inf,			-3.1415926535897932385,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			-3.1415926535897932385L,
	null,			-1.5707963267948966,
	0,			-1.5707963267948966,
	0.0,			-1.5707963267948966,
	0.0L,			-1.5707963267948966L,
	2,			-0.78539816339744828,
       -2,			-2.3561944901923448,
	2.0,			-0.78539816339744828,
       -2.0,			-2.3561944901923448,
	2.0L,			-0.78539816339744828L,
       -2.0L,			-2.3561944901923448L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	-3.1415926535897932385,
	1/2,			-1.3258176636680326,
       -1/2,			-1.8157749899217608,
	0.5,			-1.3258176636680326,
       -0.5,			-1.8157749899217608,
	0.5L,			-1.3258176636680326L,
       -0.5L,			-1.8157749899217608L,
	1/2 +3/2 *I,		-1.1071487177940904 +0.80471895621705025 *I,
       -1/2 -3/2 *I,		 1.1071487177940904 -0.80471895621705025 *I,
	0.5 +1.5 *I,		-1.1071487177940904 +0.80471895621705025 *I,
       -0.5 -1.5 *I,		 1.1071487177940904 -0.80471895621705025 *I,
	0.5L+1.5L*I,		-1.1071487177940904L+0.80471895621705025L*I,
       -0.5L-1.5L*I,		 1.1071487177940904L-0.80471895621705025L*I,
        invalid,		 NAN);
binary('atan2',			 2.0,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 3.1415926535897932385,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 3.1415926535897932385L,
	null,			 1.5707963267948966,
	0,			 1.5707963267948966,
	0.0,			 1.5707963267948966,
	0.0L,			 1.5707963267948966L,
	2,			 0.78539816339744828,
       -2,			 2.3561944901923448,
	2.0,			 0.78539816339744828,
       -2.0,			 2.3561944901923448,
	2.0L,			 0.78539816339744828L,
       -2.0L,			 2.3561944901923448L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 3.1415926535897932385,
	1/2,			 1.3258176636680326,
       -1/2,			 1.8157749899217608,
	0.5,			 1.3258176636680326,
       -0.5,			 1.8157749899217608,
	0.5L,			 1.3258176636680326L,
       -0.5L,			 1.8157749899217608L,
	1/2 +3/2 *I,		 1.1071487177940904 -0.80471895621705025 *I,
       -1/2 -3/2 *I,		-1.1071487177940904 +0.80471895621705025 *I,
	0.5 +1.5 *I,		 1.1071487177940904 -0.80471895621705025 *I,
       -0.5 -1.5 *I,		-1.1071487177940904 +0.80471895621705025 *I,
	0.5L+1.5L*I,		 1.1071487177940904L-0.80471895621705025L*I,
       -0.5L-1.5L*I,		-1.1071487177940904L+0.80471895621705025L*I,
        invalid,		 NAN);
binary('atan2',			-2.0,
	nan,			 nan,
	inf,			 0.0,
       -inf,			-3.1415926535897932385,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			-3.1415926535897932385L,
	null,			-1.5707963267948966,
	0,			-1.5707963267948966,
	0.0,			-1.5707963267948966,
	0.0L,			-1.5707963267948966L,
	2,			-0.78539816339744828,
       -2,			-2.3561944901923448,
	2.0,			-0.78539816339744828,
       -2.0,			-2.3561944901923448,
	2.0L,			-0.78539816339744828L,
       -2.0L,			-2.3561944901923448L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	-3.1415926535897932385,
	1/2,			-1.3258176636680326,
       -1/2,			-1.8157749899217608,
	0.5,			-1.3258176636680326,
       -0.5,			-1.8157749899217608,
	0.5L,			-1.3258176636680326L,
       -0.5L,			-1.8157749899217608L,
	1/2 +3/2 *I,		-1.1071487177940904 +0.80471895621705025 *I,
       -1/2 -3/2 *I,		 1.1071487177940904 -0.80471895621705025 *I,
	0.5 +1.5 *I,		-1.1071487177940904 +0.80471895621705025 *I,
       -0.5 -1.5 *I,		 1.1071487177940904 -0.80471895621705025 *I,
	0.5L+1.5L*I,		-1.1071487177940904L+0.80471895621705025L*I,
       -0.5L-1.5L*I,		 1.1071487177940904L-0.80471895621705025L*I,
        invalid,		 NAN);
binary('atan2',			 2.0L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 3.1415926535897932385L,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 3.1415926535897932385L,
	null,			 1.5707963267948966L,
	0,			 1.5707963267948966L,
	0.0,			 1.5707963267948966L,
	0.0L,			 1.5707963267948966L,
	2,			 0.78539816339744828L,
       -2,			 2.3561944901923448L,
	2.0,			 0.78539816339744828L,
       -2.0,			 2.3561944901923448L,
	2.0L,			 0.78539816339744828L,
       -2.0L,			 2.3561944901923448L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 3.1415926535897932385L,
	1/2,			 1.3258176636680326L,
       -1/2,			 1.8157749899217608L,
	0.5,			 1.3258176636680326L,
       -0.5,			 1.8157749899217608L,
	0.5L,			 1.3258176636680326L,
       -0.5L,			 1.8157749899217608L,
	1/2 +3/2 *I,		 1.1071487177940904L-0.80471895621705025L*I,
       -1/2 -3/2 *I,		-1.1071487177940904L+0.80471895621705025L*I,
	0.5 +1.5 *I,		 1.1071487177940904L-0.80471895621705025L*I,
       -0.5 -1.5 *I,		-1.1071487177940904L+0.80471895621705025L*I,
	0.5L+1.5L*I,		 1.1071487177940904L-0.80471895621705025L*I,
       -0.5L-1.5L*I,		-1.1071487177940904L+0.80471895621705025L*I,
        invalid,		 NAN);
binary('atan2',			-2.0L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			-3.1415926535897932385L,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			-3.1415926535897932385L,
	null,			-1.5707963267948966L,
	0,			-1.5707963267948966L,
	0.0,			-1.5707963267948966L,
	0.0L,			-1.5707963267948966L,
	2,			-0.78539816339744828L,
       -2,			-2.3561944901923448L,
	2.0,			-0.78539816339744828L,
       -2.0,			-2.3561944901923448L,
	2.0L,			-0.78539816339744828L,
       -2.0L,			-2.3561944901923448L,
	0x8000000000000000,	 0.0L,
       -0x8000000000000000,	-3.1415926535897932385L,
	1/2,			-1.3258176636680326L,
       -1/2,			-1.8157749899217608L,
	0.5,			-1.3258176636680326L,
       -0.5,			-1.8157749899217608L,
	0.5L,			-1.3258176636680326L,
       -0.5L,			-1.8157749899217608L,
	1/2 +3/2 *I,		-1.1071487177940904L+0.80471895621705025L*I,
       -1/2 -3/2 *I,		 1.1071487177940904L-0.80471895621705025L*I,
	0.5 +1.5 *I,		-1.1071487177940904L+0.80471895621705025L*I,
       -0.5 -1.5 *I,		 1.1071487177940904L-0.80471895621705025L*I,
	0.5L+1.5L*I,		-1.1071487177940904L+0.80471895621705025L*I,
       -0.5L-1.5L*I,		 1.1071487177940904L-0.80471895621705025L*I,
        invalid,		 NAN);
binary('atan2',			 0x8000000000000000,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 3.1415926535897932385,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 3.1415926535897932385L,
	null,			 1.5707963267948966,
	0,			 1.5707963267948966,
	0.0,			 1.5707963267948966,
	0.0L,			 1.5707963267948966L,
	2,			 1.5707963267948966,
       -2,			 1.5707963267948966,
	2.0,			 1.5707963267948966,
       -2.0,			 1.5707963267948966,
	2.0L,			 1.5707963267948966L,
       -2.0L,			 1.5707963267948966L,
	0x8000000000000000,	 0.78539816339744828,
       -0x8000000000000000,	 2.3561944901923448,
	1/2,			 1.5707963267948966,
       -1/2,			 1.5707963267948966,
	0.5,			 1.5707963267948966,
       -0.5,			 1.5707963267948966,
	0.5L,			 1.5707963267948966L,
       -0.5L,			 1.5707963267948966,
	1/2 +3/2 *I,		 1.5707963267948966,
       -1/2 -3/2 *I,		-1.5707963267948966,
	0.5 +1.5 *I,		 1.5707963267948966,
       -0.5 -1.5 *I,		-1.5707963267948966,
	0.5L+1.5L*I,		 1.5707963267948966L-0.00000000000000000016263032587282567L*I,
       -0.5L-1.5L*I,		-1.5707963267948966L+0.00000000000000000016263032587282567L*I,
        invalid,		 NAN);
binary('atan2',			-0x8000000000000000,
	nan,			 nan,
	inf,			 0.0,
       -inf,			-3.1415926535897932385,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			-3.1415926535897932385L,
	null,			-1.5707963267948966,
	0,			-1.5707963267948966,
	0.0,			-1.5707963267948966,
	0.0L,			-1.5707963267948966L,
	2,			-1.5707963267948966,
       -2,			-1.5707963267948966,
	2.0,			-1.5707963267948966,
       -2.0,			-1.5707963267948966,
	2.0L,			-1.5707963267948966L,
       -2.0L,			-1.5707963267948966L,
	0x8000000000000000,	-0.78539816339744828,
       -0x8000000000000000,	-2.3561944901923448,
	1/2,			-1.5707963267948966,
       -1/2,			-1.5707963267948966,
	0.5,			-1.5707963267948966,
       -0.5,			-1.5707963267948966,
	0.5L,			-1.5707963267948966L,
       -0.5L,			-1.5707963267948966L,
	1/2 +3/2 *I,		-1.5707963267948966,
       -1/2 -3/2 *I,		 1.5707963267948966,
	0.5 +1.5 *I,		-1.5707963267948966,
       -0.5 -1.5 *I,		 1.5707963267948966,
	0.5L+1.5L*I,		-1.5707963267948966L+0.00000000000000000016263032587282567L*I,
       -0.5L-1.5L*I,		 1.5707963267948966L-0.00000000000000000016263032587282567L*I,
        invalid,		 NAN);
binary('atan2',			 1/2,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 3.1415926535897932385,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 3.1415926535897932385L,
	null,			 1.5707963267948966,
	0,			 1.5707963267948966,
	0.0,			 1.5707963267948966,
	0.0L,			 1.5707963267948966L,
	2,			 0.24497866312686414,
       -2,			 2.8966139904629289,
	2.0,			 0.24497866312686414,
       -2.0,			 2.8966139904629289,
	2.0L,			 0.24497866312686414L,
       -2.0L,			 2.8966139904629289L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 3.1415926535897932385,
	1/2,			 0.78539816339744828,
       -1/2,			 2.3561944901923448,
	0.5,			 0.78539816339744828,
       -0.5,			 2.3561944901923448,
	0.5L,			 0.78539816339744828L,
       -0.5L,			 2.3561944901923448L,
	1/2 +3/2 *I,		 0.10933447293697098 -0.30594385790552897 *I,
       -1/2 -3/2 *I,		-0.10933447293697098 +0.30594385790552897 *I,
	0.5 +1.5 *I,		 0.10933447293697098 -0.30594385790552897 *I,
       -0.5 -1.5 *I,		-0.10933447293697098 +0.30594385790552897 *I,
	0.5L+1.5L*I,		 0.10933447293697098L-0.30594385790552897L*I,
       -0.5L-1.5L*I,		-0.10933447293697098L+0.30594385790552897L*I,
        invalid,		 NAN);
binary('atan2',			-1/2,
	nan,			 nan,
	inf,			 0.0,
       -inf,			-3.1415926535897932385,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			-3.1415926535897932385L,
	null,			-1.5707963267948966,
	0,			-1.5707963267948966,
	0.0,			-1.5707963267948966,
	0.0L,			-1.5707963267948966L,
	2,			-0.24497866312686414,
       -2,			-2.8966139904629289,
	2.0,			-0.24497866312686414,
       -2.0,			-2.8966139904629289,
	2.0L,			-0.24497866312686414L,
       -2.0L,			-2.8966139904629289L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	-3.1415926535897932385,
	1/2,			-0.78539816339744828,
       -1/2,			-2.3561944901923448,
	0.5,			-0.78539816339744828,
       -0.5,			-2.3561944901923448,
	0.5L,			-0.78539816339744828L,
       -0.5L,			-2.3561944901923448L,
	1/2 +3/2 *I,		-0.10933447293697098 +0.30594385790552897 *I,
       -1/2 -3/2 *I,		 0.10933447293697098 -0.30594385790552897 *I,
	0.5 +1.5 *I,		-0.10933447293697098 +0.30594385790552897 *I,
       -0.5 -1.5 *I,		 0.10933447293697098 -0.30594385790552897 *I,
	0.5L+1.5L*I,		-0.10933447293697098L+0.30594385790552897L*I,
       -0.5L-1.5L*I,		 0.10933447293697098L-0.30594385790552897L*I,
        invalid,		 NAN);
binary('atan2',			 0.5,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 3.1415926535897932385,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 3.1415926535897932385L,
	null,			 1.5707963267948966,
	0,			 1.5707963267948966,
	0.0,			 1.5707963267948966,
	0.0L,			 1.5707963267948966L,
	2,			 0.24497866312686414,
       -2,			 2.8966139904629289,
	2.0,			 0.24497866312686414,
       -2.0,			 2.8966139904629289,
	2.0L,			 0.24497866312686414L,
       -2.0L,			 2.8966139904629289L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 3.1415926535897932385,
	1/2,			 0.78539816339744828,
       -1/2,			 2.3561944901923448,
	0.5,			 0.78539816339744828,
       -0.5,			 2.3561944901923448,
	0.5L,			 0.78539816339744828L,
       -0.5L,			 2.3561944901923448L,
	1/2 +3/2 *I,		 0.10933447293697098 -0.30594385790552897 *I,
       -1/2 -3/2 *I,		-0.10933447293697098 +0.30594385790552897 *I,
	0.5 +1.5 *I,		 0.10933447293697098 -0.30594385790552897 *I,
       -0.5 -1.5 *I,		-0.10933447293697098 +0.30594385790552897 *I,
	0.5L+1.5L*I,		 0.10933447293697098L-0.30594385790552897L*I,
       -0.5L-1.5L*I,		-0.10933447293697098L+0.30594385790552897L*I,
        invalid,		 NAN);
binary('atan2',			-0.5,
	nan,			 nan,
	inf,			 0.0,
       -inf,			-3.1415926535897932385,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			-3.1415926535897932385L,
	null,			-1.5707963267948966,
	0,			-1.5707963267948966,
	0.0,			-1.5707963267948966,
	0.0L,			-1.5707963267948966L,
	2,			-0.24497866312686414,
       -2,			-2.8966139904629289,
	2.0,			-0.24497866312686414,
       -2.0,			-2.8966139904629289,
	2.0L,			-0.24497866312686414L,
       -2.0L,			-2.8966139904629289L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	-3.1415926535897932385,
	1/2,			-0.78539816339744828,
       -1/2,			-2.3561944901923448,
	0.5,			-0.78539816339744828,
       -0.5,			-2.3561944901923448,
	0.5L,			-0.78539816339744828L,
       -0.5L,			-2.3561944901923448L,
	1/2 +3/2 *I,		-0.10933447293697098 +0.30594385790552897 *I,
       -1/2 -3/2 *I,		 0.10933447293697098 -0.30594385790552897 *I,
	0.5 +1.5 *I,		-0.10933447293697098 +0.30594385790552897 *I,
       -0.5 -1.5 *I,		 0.10933447293697098 -0.30594385790552897 *I,
	0.5L+1.5L*I,		-0.10933447293697098L+0.30594385790552897L*I,
       -0.5L-1.5L*I,		 0.10933447293697098L-0.30594385790552897L*I,
        invalid,		 NAN);
binary('atan2',			 0.5L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 3.1415926535897932385L,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 3.1415926535897932385L,
	null,			 1.5707963267948966L,
	0,			 1.5707963267948966L,
	0.0,			 1.5707963267948966L,
	0.0L,			 1.5707963267948966L,
	2,			 0.24497866312686414L,
       -2,			 2.8966139904629289L,
	2.0,			 0.24497866312686414L,
       -2.0,			 2.8966139904629289L,
	2.0L,			 0.24497866312686414L,
       -2.0L,			 2.8966139904629289L,
	0x8000000000000000,	 0.0L,
       -0x8000000000000000,	 3.1415926535897932385L,
	1/2,			 0.78539816339744828L,
       -1/2,			 2.3561944901923448L,
	0.5,			 0.78539816339744828L,
       -0.5,			 2.3561944901923448L,
	0.5L,			 0.78539816339744828L,
       -0.5L,			 2.3561944901923448L,
	1/2 +3/2 *I,		 0.10933447293697098L-0.30594385790552897L*I,
       -1/2 -3/2 *I,		-0.10933447293697098L+0.30594385790552897L*I,
	0.5 +1.5 *I,		 0.10933447293697098L-0.30594385790552897L*I,
       -0.5 -1.5 *I,		-0.10933447293697098L+0.30594385790552897L*I,
	0.5L+1.5L*I,		 0.10933447293697098L-0.30594385790552897L*I,
       -0.5L-1.5L*I,		-0.10933447293697098L+0.30594385790552897L*I,
        invalid,		 NAN);
binary('atan2',			-0.5L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			-3.1415926535897932385L,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			-3.1415926535897932385L,
	null,			-1.5707963267948966L,
	0,			-1.5707963267948966L,
	0.0,			-1.5707963267948966L,
	0.0L,			-1.5707963267948966L,
	2,			-0.24497866312686414L,
       -2,			-2.8966139904629289L,
	2.0,			-0.24497866312686414L,
       -2.0,			-2.8966139904629289L,
	2.0L,			-0.24497866312686414L,
       -2.0L,			-2.8966139904629289L,
	0x8000000000000000,	 0.0L,
       -0x8000000000000000,	-3.1415926535897932385L,
	1/2,			-0.78539816339744828L,
       -1/2,			-2.3561944901923448L,
	0.5,			-0.78539816339744828L,
       -0.5,			-2.3561944901923448L,
	0.5L,			-0.78539816339744828L,
       -0.5L,			-2.3561944901923448L,
	1/2 +3/2 *I,		-0.10933447293697098L+0.30594385790552897L*I,
       -1/2 -3/2 *I,		 0.10933447293697098L-0.30594385790552897L*I,
	0.5 +1.5 *I,		-0.10933447293697098L+0.30594385790552897L*I,
       -0.5 -1.5 *I,		 0.10933447293697098L-0.30594385790552897L*I,
	0.5L+1.5L*I,		-0.10933447293697098L+0.30594385790552897L*I,
       -0.5L-1.5L*I,		 0.10933447293697098L-0.30594385790552897L*I,
        invalid,		 NAN);
binary('atan2',			 1/2+3/2*I,
	nan,			 nan+nan*I,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL+nanL*I,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 1.5707963267948966,
	0,			 1.5707963267948966,
	0.0,			 1.5707963267948966,
	0.0L,			 1.5707963267948966L,
	2,			 0.46364760900080609 +0.80471895621705014 *I,
       -2,			-0.46364760900080609 -0.80471895621705014 *I,
	2.0,			 0.46364760900080609 +0.80471895621705014 *I,
       -2.0,			-0.46364760900080609 -0.80471895621705014 *I,
	2.0L,			 0.46364760900080609L+0.80471895621705014L*I,
       -2.0L,			-0.46364760900080609L-0.80471895621705014L*I,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			 1.4614618538579256 +0.30594385790552892 *I,
       -1/2,			-1.4614618538579256 -0.30594385790552892 *I,
	0.5,			 1.4614618538579256 +0.30594385790552892 *I,
       -0.5,			-1.4614618538579256 -0.30594385790552892 *I,
	0.5L,			 1.4614618538579256L+0.30594385790552892L*I,
       -0.5L,			-1.4614618538579256L-0.30594385790552892L*I,
	1/2 +3/2 *I,		 0.78539816339744828,
       -1/2 -3/2 *I,		-0.78539816339744828,
	0.5 +1.5 *I,		 0.78539816339744828,
       -0.5 -1.5 *I,		-0.78539816339744828,
	0.5L+1.5L*I,		 0.78539816339744828L,
       -0.5L-1.5L*I,		-0.78539816339744828L,
        invalid,		 NAN);
binary('atan2',			-1/2-3/2*I,
	nan,			 nan+nan*I,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL+nanL*I,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			-1.5707963267948966,
	0,			-1.5707963267948966,
	0.0,			-1.5707963267948966,
	0.0L,			-1.5707963267948966L,
	2,			-0.46364760900080609 -0.80471895621705014 *I,
       -2,			 0.46364760900080609 +0.80471895621705014 *I,
	2.0,			-0.46364760900080609 -0.80471895621705014 *I,
       -2.0,			 0.46364760900080609 +0.80471895621705014 *I,
	2.0L,			-0.46364760900080609L-0.80471895621705014L*I,
       -2.0L,			 0.46364760900080609L+0.80471895621705014L*I,
	0x8000000000000000,	 0,
       -0x8000000000000000,	 0,
	1/2,			-1.4614618538579256 -0.30594385790552892 *I,
       -1/2,			 1.4614618538579256 +0.30594385790552892 *I,
	0.5,			-1.4614618538579256 -0.30594385790552892 *I,
       -0.5,			 1.4614618538579256 +0.30594385790552892 *I,
	0.5L,			-1.4614618538579256L-0.30594385790552892L*I,
       -0.5L,			 1.4614618538579256L+0.30594385790552892L*I,
	1/2 +3/2 *I,		-0.78539816339744828,
       -1/2 -3/2 *I,		 0.78539816339744828,
	0.5 +1.5 *I,		-0.78539816339744828,
       -0.5 -1.5 *I,		 0.78539816339744828,
	0.5L+1.5L*I,		-0.78539816339744828L,
       -0.5L-1.5L*I,		 0.78539816339744828L,
        invalid,		 NAN);
binary('atan2',			 0.5+1.5*I,
	nan,			 nan+nan*I,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL+nanL*I,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 1.5707963267948966,
	0,			 1.5707963267948966,
	0.0,			 1.5707963267948966,
	0.0L,			 1.5707963267948966L,
	2,			 0.46364760900080609 +0.80471895621705014 *I,
       -2,			-0.46364760900080609 -0.80471895621705014 *I,
	2.0,			 0.46364760900080609 +0.80471895621705014 *I,
       -2.0,			-0.46364760900080609 -0.80471895621705014 *I,
	2.0L,			 0.46364760900080609L+0.80471895621705014L*I,
       -2.0L,			-0.46364760900080609L-0.80471895621705014L*I,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 0.0,
	1/2,			 1.4614618538579256 +0.30594385790552892 *I,
       -1/2,			-1.4614618538579256 -0.30594385790552892 *I,
	0.5,			 1.4614618538579256 +0.30594385790552892 *I,
       -0.5,			-1.4614618538579256 -0.30594385790552892 *I,
	0.5L,			 1.4614618538579256L+0.30594385790552892L*I,
       -0.5L,			-1.4614618538579256L-0.30594385790552892L*I,
	1/2 +3/2 *I,		 0.78539816339744828,
       -1/2 -3/2 *I,		-0.78539816339744828,
	0.5 +1.5 *I,		 0.78539816339744828,
       -0.5 -1.5 *I,		-0.78539816339744828,
	0.5L+1.5L*I,		 0.78539816339744828L,
       -0.5L-1.5L*I,		-0.78539816339744828L,
        invalid,		 NAN);
binary('atan2',			-0.5-1.5*I,
	nan,			 nan+nan*I,
	inf,			 0.0,
       -inf,			 0.0,
	nanL,			 nanL+nanL*I,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			-1.5707963267948966,
	0,			-1.5707963267948966,
	0.0,			-1.5707963267948966,
	0.0L,			-1.5707963267948966L,
	2,			-0.46364760900080609 -0.80471895621705014 *I,
       -2,			 0.46364760900080609 +0.80471895621705014 *I,
	2.0,			-0.46364760900080609 -0.80471895621705014 *I,
       -2.0,			 0.46364760900080609 +0.80471895621705014 *I,
	2.0L,			-0.46364760900080609L-0.80471895621705014L*I,
       -2.0L,			 0.46364760900080609L+0.80471895621705014L*I,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 0.0,
	1/2,			-1.4614618538579256 -0.30594385790552892 *I,
       -1/2,			 1.4614618538579256 +0.30594385790552892 *I,
	0.5,			-1.4614618538579256 -0.30594385790552892 *I,
       -0.5,			 1.4614618538579256 +0.30594385790552892 *I,
	0.5L,			-1.4614618538579256L-0.30594385790552892L*I,
       -0.5L,			 1.4614618538579256L+0.30594385790552892L*I,
	1/2 +3/2 *I,		-0.78539816339744828,
       -1/2 -3/2 *I,		 0.78539816339744828,
	0.5 +1.5 *I,		-0.78539816339744828,
       -0.5 -1.5 *I,		 0.78539816339744828,
	0.5L+1.5L*I,		-0.78539816339744828L,
       -0.5L-1.5L*I,		 0.78539816339744828L,
        invalid,		 NAN);
binary('atan2',			 0.5L+1.5L*I,
	nan,			 nanL+nanL*I,
	inf,			 0.0L,
       -inf,			 0.0L,
	nanL,			 nanL+nanL*I,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			 1.5707963267948966L,
	0,			 1.5707963267948966L,
	0.0,			 1.5707963267948966L,
	0.0L,			 1.5707963267948966L,
	2,			 0.46364760900080609L+0.80471895621705014L*I,
       -2,			-0.46364760900080609L-0.80471895621705014L*I,
	2.0,			 0.46364760900080609L+0.80471895621705014L*I,
       -2.0,			-0.46364760900080609L-0.80471895621705014L*I,
	2.0L,			 0.46364760900080609L+0.80471895621705014L*I,
       -2.0L,			-0.46364760900080609L-0.80471895621705014L*I,
	0x8000000000000000,	 0.000000000000000000054210108624275222L+0.00000000000000000016263032587282567L*I,
       -0x8000000000000000,	-0.000000000000000000054210108624275222L-0.00000000000000000016263032587282567L*I,
	1/2,			 1.4614618538579256L+0.30594385790552892L*I,
       -1/2,			-1.4614618538579256L-0.30594385790552892L*I,
	0.5,			 1.4614618538579256L+0.30594385790552892L*I,
       -0.5,			-1.4614618538579256L-0.30594385790552892L*I,
	0.5L,			 1.4614618538579256L+0.30594385790552892L*I,
       -0.5L,			-1.4614618538579256L-0.30594385790552892*I,
	1/2 +3/2 *I,		 0.78539816339744828L,
       -1/2 -3/2 *I,		-0.78539816339744828L,
	0.5 +1.5 *I,		 0.78539816339744828L,
       -0.5 -1.5 *I,		-0.78539816339744828L,
	0.5L+1.5L*I,		 0.78539816339744828L,
       -0.5L-1.5L*I,		-0.78539816339744828L,
        invalid,		 NAN);
binary('atan2',			-0.5L-1.5L*I,
	nan,			 nanL+nanL*I,
	inf,			 0.0L,
       -inf,			 0.0L,
	nanL,			 nanL+nanL*I,
	infL,			 0.0L,
       -infL,			 0.0L,
	null,			-1.5707963267948966L,
	0,			-1.5707963267948966L,
	0.0,			-1.5707963267948966L,
	0.0L,			-1.5707963267948966L,
	2,			-0.46364760900080609L-0.80471895621705014L*I,
       -2,			 0.46364760900080609L+0.80471895621705014L*I,
	2.0,			-0.46364760900080609L-0.80471895621705014L*I,
       -2.0,			 0.46364760900080609L+0.80471895621705014L*I,
	2.0L,			-0.46364760900080609L-0.80471895621705014L*I,
       -2.0L,			 0.46364760900080609L+0.80471895621705014L*I,
	0x8000000000000000,	-0.000000000000000000054210108624275222L-0.00000000000000000016263032587282567L*I,
       -0x8000000000000000,	 0.000000000000000000054210108624275222L+0.00000000000000000016263032587282567L*I,
	1/2,			-1.4614618538579256L-0.30594385790552892L*I,
       -1/2,			 1.4614618538579256L+0.30594385790552892L*I,
	0.5,			-1.4614618538579256L-0.30594385790552892L*I,
       -0.5,			 1.4614618538579256L+0.30594385790552892L*I,
	0.5L,			-1.4614618538579256L-0.30594385790552892L*I,
       -0.5L,			 1.4614618538579256L+0.30594385790552892L*I,
	1/2 +3/2 *I,		-0.78539816339744828L,
       -1/2 -3/2 *I,		 0.78539816339744828L,
	0.5 +1.5 *I,		-0.78539816339744828L,
       -0.5 -1.5 *I,		 0.78539816339744828L,
	0.5L+1.5L*I,		-0.78539816339744828L,
       -0.5L-1.5L*I,		 0.78539816339744828L,
        invalid,		 NAN);
binary('atan2',			 invalid,
	null,			 NAN,
	0,			 NAN,
	0.0,			 NAN,
	0.0L,			 NAN,
	0x8000000000000000,	 NAN,
	1/2,			 NAN,
	1/2 +3/2 *I,		 NAN,
	0.5 +1.5 *I,		 NAN,
	0.5L+1.5L*I,		 NAN,
        invalid,		 NAN);
binary('pow',			 nan,
	nan,			 nan,
	inf,			 nan,
       -inf,			 nan,
	nanL,			 nanL,
	infL,			 nanL,
       -infL,			 nanL,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0L,
	2,			 nan,
       -2,			 nan,
	2.0,			 nan,
       -2.0,			 nan,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	0x8000000000000000,	 nan,
       -0x8000000000000000,	 nan,
	1/2,			 nan,
       -1/2,			 nan,
	0.5,			 nan,
       -0.5,			 nan,
	0.5L,			 nanL,
       -0.5L,			 nanL,
	1/2 +3/2 *I,		 complex(nan,  nan),
       -1/2 -3/2 *I,		 complex(nan,  nan),
	0.5 +1.5 *I,		 complex(nan,  nan),
       -0.5 -1.5 *I,		 complex(nan,  nan),
	0.5L+1.5L*I,		 complex(nanL, nanL),
       -0.5L-1.5L*I,		 complex(nanL, nanL),
        invalid,		 NAN);
binary('pow',			 inf,
	nan,			 nan,
	inf,			 inf,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0L,
	2,			 inf,
       -2,			 0.0,
	2.0,			 inf,
       -2.0,			 0.0,
	2.0L,			 infL,
       -2.0L,			 0.0L,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	 0.0L,
	1/2,			 inf,
       -1/2,			 0.0,
	0.5,			 inf,
       -0.5,			 0.0,
	0.5L,			 infL,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 complex(inf,  nan),
       -1/2 -3/2 *I,		 0.0,
	0.5 +1.5 *I,		 complex(inf,  nan),
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		 complex(infL, nanL),
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('pow',			-inf,
	nan,			 nan,
	inf,			 inf,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0L,
	2,			 inf,
       -2,			 0.0,
	2.0,			 inf,
       -2.0,			 0.0,
	2.0L,			 infL,
       -2.0L,			 0.0L,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	 0.0L,
	1/2,			 inf,
       -1/2,			 0.0,
	0.5,			 inf,
       -0.5,			 0.0,
	0.5L,			 infL,
       -0.5L,			 0.0L,
	1/2 +3/2 *I,		 complex(inf,  nan),
       -1/2 -3/2 *I,		 0.0,
	0.5 +1.5 *I,		 complex(inf,  nan),
       -0.5 -1.5 *I,		 0.0,
	0.5L+1.5L*I,		 complex(infL, nanL),
       -0.5L-1.5L*I,		 0.0L,
        invalid,		 NAN);
binary('pow',			 null,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 infL,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0L,
	2,			 0.0,
       -2,			 inf,
	2.0,			 0.0,
       -2.0,			 inf,
	2.0L,			 0.0L,
       -2.0L,			 infL,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 inf,
	1/2,			 0.0,
       -1/2,			 inf,
	0.5,			 0.0,
       -0.5,			 inf,
	0.5L,			 0.0L,
       -0.5L,			 infL,
	1/2 +3/2 *I,		 0.0,
       -1/2 -3/2 *I,		 complex(inf,  nan),
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 complex(inf,  nan),
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 complex(infL, nanL),
        invalid,		 NAN);
binary('pow',			 0.0,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 infL,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0L,
	2,			 0.0,
       -2,			 inf,
	2.0,			 0.0,
       -2.0,			 inf,
	2.0L,			 0.0L,
       -2.0L,			 inf,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 inf,
	1/2,			 0.0,
       -1/2,			 inf,
	0.5,			 0.0,
       -0.5,			 inf,
	0.5L,			 0.0L,
       -0.5L,			 inf,
	1/2 +3/2 *I,		 0.0,
       -1/2 -3/2 *I,		 complex(inf,  nan),
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 complex(inf,  nan),
	0.5L+1.5L*I,		 0.0,
       -0.5L-1.5L*I,		 complex(infL, nanL),
        invalid,		 NAN);
binary('pow',			 0.0,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 infL,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			 0.0,
       -2,			 inf,
	2.0,			 0.0,
       -2.0,			 inf,
	2.0L,			 0.0L,
       -2.0L,			 inf,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 inf,
	1/2,			 0.0,
       -1/2,			 inf,
	0.5,			 0.0,
       -0.5,			 inf,
	0.5L,			 0.0L,
       -0.5L,			 inf,
	1/2 +3/2 *I,		 0.0,
       -1/2 -3/2 *I,		 complex(inf,  nan),
	0.5 +1.5 *I,		 0.0,
       -0.5 -1.5 *I,		 complex(inf,  nan),
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 complex(infL, nanL),
        invalid,		 NAN);
binary('pow',			 0.0L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 infL,
	null,			 1.0L,
	0,			 1.0L,
	0.0,			 1.0L,
	0.0L,			 1.0L,
	2,			 0.0L,
       -2,			 infL,
	2.0,			 0.0L,
       -2.0,			 infL,
	2.0L,			 0.0L,
       -2.0L,			 infL,
	0x8000000000000000,	 0.0L,
       -0x8000000000000000,	 inf,
	1/2,			 0.0L,
       -1/2,			 infL,
	0.5,			 0.0L,
       -0.5,			 infL,
	0.5L,			 0.0L,
       -0.5L,			 infL,
	1/2 +3/2 *I,		 0.0L,
       -1/2 -3/2 *I,		 complex(infL, nanL),
	0.5 +1.5 *I,		 0.0L,
       -0.5 -1.5 *I,		 complex(infL, nanL),
	0.5L+1.5L*I,		 0.0L,
       -0.5L-1.5L*I,		 complex(infL, nanL),
        invalid,		 NAN);
binary('pow',			 2,
	nan,			 nan,
	inf,			 inf,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			 4.0,
       -2,			 0.25,
	2.0,			 4.0,
       -2.0,			 0.25,
	2.0L,			 4.0L,
       -2.0L,			 0.25L,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	 0.0,
	1/2,			 1.4142135623730951,
       -1/2,			 0.70710678118654757,
	0.5,			 1.4142135623730951,
       -0.5,			 0.70710678118654757,
	0.5L,			 1.4142135623730951L,
       -0.5L,			 0.70710678118654757L,
	1/2 +3/2 *I,		 0.7162440799296137  +1.2194238057237448  *I,
       -1/2 -3/2 *I,		 0.35812203996480685 -0.60971190286187238 *I,
	0.5 +1.5 *I,		 0.7162440799296137  +1.2194238057237448  *I,
       -0.5 -1.5 *I,		 0.35812203996480685 -0.60971190286187238 *I,
	0.5L+1.5L*I,		 0.7162440799296137L +1.2194238057237448L *I,
       -0.5L-1.5L*I,		 0.35812203996480685L-0.60971190286187238L*I,
        invalid,		 NAN);
binary('pow',			-2,
	nan,			 nan,
	inf,			 inf,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			 4.0,
       -2,			 0.25,
	2.0,			 4.0,
       -2.0,			 0.25,
	2.0L,			 4.0L,
       -2.0L,			 0.25L,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	 0.0,
	1/2,					       1.4142135623730951    *I,
       -1/2,					      -0.70710678118654757   *I,
	0.5,					       1.4142135623730951    *I,
       -0.5,					      -0.70710678118654757   *I,
	0.5L,					       1.4142135623730951L   *I,
       -0.5L,					      -0.70710678118654757L  *I,
	1/2 +3/2 *I,		-0.010954438924909597 +0.0064342290121688064 *I,
       -1/2 -3/2 *I,		-67.871774545406637   -39.865349917137785    *I,
	0.5 +1.5 *I,		-0.010954438924909597 +0.0064342290121688064 *I,
       -0.5 -1.5 *I,		-67.871774545406637   -39.865349917137785    *I,
	0.5L+1.5L*I,		-0.010954438924909597L+0.0064342290121688064L*I,
       -0.5L-1.5L*I,		-67.871774545406637L  -39.865349917137785L   *I,
        invalid,		 NAN);
binary('pow',			 2.0,
	nan,			 nan,
	inf,			 inf,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			 4.0,
       -2,			 0.25,
	2.0,			 4.0,
       -2.0,			 0.25,
	2.0L,			 4.0L,
       -2.0L,			 0.25,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	 0.0,
	1/2,			 1.4142135623730951,
       -1/2,			 0.70710678118654757,
	0.5,			 1.4142135623730951,
       -0.5,			 0.70710678118654757,
	0.5L,			 1.4142135623730951L,
       -0.5L,			 0.70710678118654757L,
	1/2 +3/2 *I,		 0.7162440799296137  +1.2194238057237448  *I,
       -1/2 -3/2 *I,		 0.35812203996480685 -0.60971190286187238 *I,
	0.5 +1.5 *I,		 0.7162440799296137  +1.2194238057237448  *I,
       -0.5 -1.5 *I,		 0.35812203996480685 -0.60971190286187238 *I,
	0.5L+1.5L*I,		 0.7162440799296137L +1.2194238057237448L *I,
       -0.5L-1.5L*I,		 0.35812203996480685L-0.60971190286187238L*I,
        invalid,		 NAN);
binary('pow',			-2.0,
	nan,			 nan,
	inf,			 inf,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			 4.0,
       -2,			 0.25,
	2.0,			 4.0,
       -2.0,			 0.25,
	2.0L,			 4.0L,
       -2.0L,			 0.25,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	 0.0,
	1/2,					       1.4142135623730951    *I,
       -1/2,					      -0.70710678118654757   *I,
	0.5,					       1.4142135623730951    *I,
       -0.5,					      -0.70710678118654757   *I,
	0.5L,					       1.4142135623730951L   *I,
       -0.5L,					      -0.70710678118654757L  *I,
	1/2 +3/2 *I,		-0.010954438924909597 +0.0064342290121688064 *I,
       -1/2 -3/2 *I,		-67.871774545406637   -39.865349917137785    *I,
	0.5 +1.5 *I,		-0.010954438924909597 +0.0064342290121688064 *I,
       -0.5 -1.5 *I,		-67.871774545406637   -39.865349917137785    *I,
	0.5L+1.5L*I,		-0.010954438924909597L+0.0064342290121688064L*I,
       -0.5L-1.5L*I,		-67.871774545406637L  -39.865349917137785L   *I,
        invalid,		 NAN);
binary('pow',			 2.0L,
	nan,			 nan,
	inf,			 inf,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 0.0L,
	null,			 1.0L,
	0,			 1.0L,
	0.0,			 1.0L,
	0.0L,			 1.0L,
	2,			 4.0L,
       -2,			 0.25L,
	2.0,			 4.0L,
       -2.0,			 0.25L,
	2.0L,			 4.0L,
       -2.0L,			 0.25,
	0x8000000000000000,	 infL,
       -0x8000000000000000,	 0.0L,
	1/2,			 1.4142135623730951L,
       -1/2,			 0.70710678118654757L,
	0.5,			 1.4142135623730951L,
       -0.5,			 0.70710678118654757L,
	0.5L,			 1.4142135623730951L,
       -0.5L,			 0.70710678118654757L,
	1/2 +3/2 *I,		 0.7162440799296137L +1.2194238057237448L *I,
       -1/2 -3/2 *I,		 0.35812203996480685L-0.60971190286187238L*I,
	0.5 +1.5 *I,		 0.7162440799296137L +1.2194238057237448L *I,
       -0.5 -1.5 *I,		 0.35812203996480685L-0.60971190286187238L*I,
	0.5L+1.5L*I,		 0.7162440799296137L +1.2194238057237448L *I,
       -0.5L-1.5L*I,		 0.35812203996480685L-0.60971190286187238L*I,
        invalid,		 NAN);
binary('pow',			-2.0L,
	nan,			 nan,
	inf,			 inf,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 0.0L,
	null,			 1.0L,
	0,			 1.0L,
	0.0,			 1.0L,
	0.0L,			 1.0L,
	2,			 4.0L,
       -2,			 0.25L,
	2.0,			 4.0L,
       -2.0,			 0.25L,
	2.0L,			 4.0L,
       -2.0L,			 0.25L,
	0x8000000000000000,	 infL,
       -0x8000000000000000,	 0.0L,
	1/2,					       1.4142135623730951L   *I,
       -1/2,					      -0.70710678118654757L  *I,
	0.5,					       1.4142135623730951L   *I,
       -0.5,					      -0.70710678118654757L  *I,
	0.5L,					       1.4142135623730951L   *I,
       -0.5L,					      -0.70710678118654757L  *I,
	1/2 +3/2 *I,		-0.010954438924909597L+0.0064342290121688064L*I,
       -1/2 -3/2 *I,		-67.871774545406637L  -39.865349917137785L   *I,
	0.5 +1.5 *I,		-0.010954438924909597L+0.0064342290121688064L*I,
       -0.5 -1.5 *I,		-67.871774545406637L  -39.865349917137785L   *I,
	0.5L+1.5L*I,		-0.010954438924909597L+0.0064342290121688064L*I,
       -0.5L-1.5L*I,		-67.871774545406637L  -39.865349917137785L   *I,
        invalid,		 NAN);
binary('pow',			 0x8000000000000000,
	nan,			 nan,
	inf,			 inf,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0L,
	2,			 0x40000000000000000000000000000000.0,
       -2,			 0.0,
	2.0,			 0x40000000000000000000000000000000.0,
       -2.0,			 0.0,
	2.0L,			 0x40000000000000000000000000000000.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	 0.0,
	1/2,			 3037000499.9760499,
       -1/2,			 0.0000000003292722,
	0.5,			 3037000499.9760499,
       -0.5,			 0.0000000003292722,
	0.5L,			 3037000499.9760499,
       -0.5L,			 0.0000000003292722L,
	1/2 +3/2 *I,		-2706265351.1994395 +1378223452.765233  *I,
       -1/2 -3/2 *I,		-0.0000000002934138 -0.0000000001494272 *I,
	0.5 +1.5 *I,		-2706265351.1994395 +1378223452.765233  *I,
       -0.5 -1.5 *I,		-0.0000000002934138 -0.0000000001494272 *I,
	0.5L+1.5L*I,		-2706265351.1994557L+1378223452.7652121L*I,
       -0.5L-1.5L*I,		-0.0000000002934138L-0.0000000001494272L*I,
        invalid,		 NAN);
binary('pow',			-0x8000000000000000,
	nan,			 nan,
	inf,			 inf,
       -inf,			 0.0,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0L,
	2,			 0x40000000000000000000000000000000.0,
       -2,			 0.0,
	2.0,			 0x40000000000000000000000000000000.0,
       -2.0,			 0.0,
	2.0L,			 0x40000000000000000000000000000000.0L,
       -2.0L,			 0.0L,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	 0.0,
	1/2,			 0.00000018595650544162004+3037000499.9760447 *I,
       -1/2,						  -0.0000000003292722 *I,
	0.5,			 0.00000018595650544162004+3037000499.9760447 *I,
       -0.5,						  -0.0000000003292722 *I,
	0.5L,						   3037000499.9760499L*I,
       -0.5L,						  -0.0000000003292722L*I,
	1/2 +3/2 *I,		-12380982.368336026	  -24311169.230223496 *I,
       -1/2 -3/2 *I,		-0.0000000166339135	  +0.0000000326621810 *I,
	0.5 +1.5 *I,		-12380982.368336026	  -24311169.230223496 *I,
       -0.5 -1.5 *I,		-0.0000000166339135	  +0.0000000326621810 *I,
	0.5L+1.5L*I,		-12380982.368335728L	  -24311169.230223749L*I,
       -0.5L-1.5L*I,		-0.0000000166339135L	  +0.0000000326621810L*I,
        invalid,		 NAN);
binary('pow',			 1/2,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 infL,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			 0.25,
       -2,			 4.0,
	2.0,			 0.25,
       -2.0,			 4.0,
	2.0L,			 0.25L,
       -2.0L,			 4.0L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 inf,
	1/2,			 0.70710678118654757,
       -1/2,			 1.4142135623730951,
	0.5,			 0.70710678118654757,
       -0.5,			 1.4142135623730951,
	0.5L,			 0.70710678118654757L,
       -0.5L,			 1.4142135623730951L,
	1/2 +3/2 *I,		 0.35812203996480685 -0.60971190286187238 *I,
       -1/2 -3/2 *I,		 0.7162440799296137  +1.2194238057237448  *I,
	0.5 +1.5 *I,		 0.35812203996480685 -0.60971190286187238 *I,
       -0.5 -1.5 *I,		 0.7162440799296137  +1.2194238057237448  *I,
	0.5L+1.5L*I,		 0.35812203996480685L-0.60971190286187238L*I,
       -0.5L-1.5L*I,		 0.7162440799296137L +1.2194238057237448L *I,
        invalid,		 NAN);
binary('pow',			-1/2,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 infL,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			 0.25,
       -2,			 4.0,
	2.0,			 0.25,
       -2.0,			 4.0,
	2.0L,			 0.25L,
       -2.0L,			 4.0L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 inf,
	1/2,						0.70710678118654757   *I,
       -1/2,					       -1.4142135623730951    *I,
	0.5,						0.70710678118654757   *I,
       -0.5,					       -1.4142135623730951    *I,
	0.5L,						0.70710678118654757L  *I,
       -0.5L,					       -1.4142135623730951L   *I,
	1/2 +3/2 *I,		 0.0054772194624547977 +0.0032171145060844041 *I,
       -1/2 -3/2 *I,		 135.74354909081327    -79.730699834275583    *I,
	0.5 +1.5 *I,		 0.0054772194624547977 +0.0032171145060844041 *I,
       -0.5 -1.5 *I,		 135.74354909081327    -79.730699834275583    *I,
	0.5L+1.5L*I,		 0.0054772194624547977L+0.0032171145060844041L*I,
       -0.5L-1.5L*I,		 135.74354909081327L   -79.730699834275583L   *I,
        invalid,		 NAN);
binary('pow',			 0.5,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 infL,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			 0.25,
       -2,			 4.0,
	2.0,			 0.25,
       -2.0,			 4.0,
	2.0L,			 0.25L,
       -2.0L,			 4.0L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 inf,
	1/2,			 0.70710678118654757,
       -1/2,			 1.4142135623730951,
	0.5,			 0.70710678118654757,
       -0.5,			 1.4142135623730951,
	0.5L,			 0.70710678118654757L,
       -0.5L,			 1.4142135623730951L,
	1/2 +3/2 *I,		 0.35812203996480685 -0.60971190286187238 *I,
       -1/2 -3/2 *I,		 0.7162440799296137  +1.2194238057237448  *I,
	0.5 +1.5 *I,		 0.35812203996480685 -0.60971190286187238 *I,
       -0.5 -1.5 *I,		 0.7162440799296137  +1.2194238057237448  *I,
	0.5L+1.5L*I,		 0.35812203996480685L-0.60971190286187238L*I,
       -0.5L-1.5L*I,		 0.7162440799296137L +1.2194238057237448L *I,
        invalid,		 NAN);
binary('pow',			-0.5,
	nan,			 nan,
	inf,			 0.0,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 infL,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			 0.25,
       -2,			 4.0,
	2.0,			 0.25,
       -2.0,			 4.0,
	2.0L,			 0.25L,
       -2.0L,			 4.0L,
	0x8000000000000000,	 0.0,
       -0x8000000000000000,	 inf,
	1/2,						0.70710678118654757   *I,
       -1/2,					       -1.4142135623730951    *I,
	0.5,						0.70710678118654757   *I,
       -0.5,					       -1.4142135623730951    *I,
	0.5L,						0.70710678118654757L  *I,
       -0.5L,					       -1.4142135623730951L   *I,
	1/2 +3/2 *I,		 0.0054772194624547977 +0.0032171145060844041 *I,
       -1/2 -3/2 *I,		 135.74354909081327    -79.730699834275583    *I,
	0.5 +1.5 *I,		 0.0054772194624547977 +0.0032171145060844041 *I,
       -0.5 -1.5 *I,		 135.74354909081327    -79.730699834275583    *I,
	0.5L+1.5L*I,		 0.0054772194624547977L+0.0032171145060844041L*I,
       -0.5L-1.5L*I,		 135.74354909081327L   -79.730699834275583L   *I,
        invalid,		 NAN);
binary('pow',			 0.5L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 infL,
	null,			 1.0L,
	0,			 1.0L,
	0.0,			 1.0L,
	0.0L,			 1.0L,
	2,			 0.25L,
       -2,			 4.0L,
	2.0,			 0.25L,
       -2.0,			 4.0L,
	2.0L,			 0.25L,
       -2.0L,			 4.0L,
	0x8000000000000000,	 0.0L,
       -0x8000000000000000,	 infL,
	1/2,			 0.70710678118654757L,
       -1/2,			 1.4142135623730951L,
	0.5,			 0.70710678118654757L,
       -0.5,			 1.4142135623730951L,
	0.5L,			 0.70710678118654757L,
       -0.5L,			 1.4142135623730951L,
	1/2 +3/2 *I,		 0.35812203996480685L-0.60971190286187238L*I,
       -1/2 -3/2 *I,		 0.7162440799296137L +1.2194238057237448L *I,
	0.5 +1.5 *I,		 0.35812203996480685L-0.60971190286187238L*I,
       -0.5 -1.5 *I,		 0.7162440799296137L +1.2194238057237448L *I,
	0.5L+1.5L*I,		 0.35812203996480685L-0.60971190286187238L*I,
       -0.5L-1.5L*I,		 0.7162440799296137L +1.2194238057237448L *I,
        invalid,		 NAN);
binary('pow',			-0.5L,
	nan,			 nanL,
	inf,			 0.0L,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 0.0L,
       -infL,			 infL,
	null,			 1.0L,
	0,			 1.0L,
	0.0,			 1.0L,
	0.0L,			 1.0L,
	2,			 0.25L,
       -2,			 4.0L,
	2.0,			 0.25L,
       -2.0,			 4.0L,
	2.0L,			 0.25L,
       -2.0L,			 4.0L,
	0x8000000000000000,	 0.0L,
       -0x8000000000000000,	 infL,
	1/2,						0.70710678118654757L  *I,
       -1/2,					       -1.4142135623730951L   *I,
	0.5,						0.70710678118654757L  *I,
       -0.5,					       -1.4142135623730951L   *I,
	0.5L,						0.70710678118654757L  *I,
       -0.5L,					       -1.4142135623730951L   *I,
	1/2 +3/2 *I,		 0.0054772194624547977L+0.0032171145060844041L*I,
       -1/2 -3/2 *I,		 135.74354909081327L   -79.730699834275583L   *I,
	0.5 +1.5 *I,		 0.0054772194624547977L+0.0032171145060844041L*I,
       -0.5 -1.5 *I,		 135.74354909081327L   -79.730699834275583L   *I,
	0.5L+1.5L*I,		 0.0054772194624547977L+0.0032171145060844041L*I,
       -0.5L-1.5L*I,		 135.74354909081327L   -79.730699834275583L   *I,
        invalid,		 NAN);
binary('pow',			 1/2+3/2*I,
	nan,			 complex(nan,  nan),
	inf,			 complex(inf,  nan),
       -inf,			 0.0,
	nanL,			 complex(nanL, nanL),
	infL,			 complex(infL, nanL),
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			-2    +3/2  *I,
       -2,			-8/25 -6/25 *I,
	2.0,			-2.0  +1.5  *I,
       -2.0,			-0.32 -0.24 *I,
	2.0L,			-2.0L +1.5L *I,
       -2.0L,			-0.32L-0.24L*I,
	0x8000000000000000,	 complex(-inf,  inf),
       -0x8000000000000000,	 0.0,
	1/2,			 1.0200830432087846  +0.73523425861564351 *I,
       -1/2,			 0.64515716381114296 -0.46500297420214198 *I,
	0.5,			 1.0200830432087846  +0.73523425861564351 *I,
       -0.5,			 0.64515716381114296 -0.46500297420214198 *I,
	0.5L,			 1.0200830432087846L +0.73523425861564351L*I,
       -0.5L,			 0.64515716381114296L-0.46500297420214198L*I,
	1/2 +3/2 *I,		 0.04946848764596376 +0.1866662550023622  *I,
       -1/2 -3/2 *I,		 1.3265379799863011  -5.0056083908327276  *I,
	0.5 +1.5 *I,		 0.04946848764596376 +0.1866662550023622  *I,
       -0.5 -1.5 *I,		 1.3265379799863011  -5.0056083908327276  *I,
	0.5L+1.5L*I,		 0.04946848764596376L+0.1866662550023622L *I,
       -0.5L-1.5L*I,		 1.3265379799863011L -5.0056083908327276L *I,
        invalid,		 NAN);
binary('pow',			-1/2-3/2*I,
	nan,			 complex(nan,  nan),
	inf,			 complex(inf,  nan),
       -inf,			 0.0,
	nanL,			 complex(nanL, nanL),
	infL,			 complex(infL, nanL),
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			-2    +3/2  *I,
       -2,			-8/25 -6/25 *I,
	2.0,			-2.0  +1.5  *I,
       -2.0,			-0.32 -0.24 *I,
	2.0L,			-2.0L +1.5L *I,
       -2.0L,			-0.32L-0.24L*I,
	0x8000000000000000,	 complex(-inf,  inf),
       -0x8000000000000000,	 0.0,
	1/2,			 0.7352342586156434   -1.0200830432087846   *I,
       -1/2,			 0.46500297420214193  +0.64515716381114296  *I,
	0.5,			 0.7352342586156434   -1.0200830432087846   *I,
       -0.5,			 0.46500297420214193  +0.64515716381114296  *I,
	0.5L,			 0.7352342586156434   -1.0200830432087846   *I,
       -0.5L,			 0.46500297420214193L +0.64515716381114296L *I,
	1/2 +3/2 *I,		 20.779272825883975   -5.5067221500015879   *I,
       -1/2 -3/2 *I,		 0.044966836912657751 +0.011916676724798111 *I,
	0.5 +1.5 *I,		 20.779272825883975   -5.5067221500015879   *I,
       -0.5 -1.5 *I,		 0.044966836912657751 +0.011916676724798111 *I,
	0.5L+1.5L*I,		 20.779272825883975L  -5.5067221500015879L  *I,
       -0.5L-1.5L*I,		 0.044966836912657751L+0.011916676724798111L*I,
        invalid,		 NAN);
binary('pow',			 0.5+1.5*I,
	nan,			 complex(nan,  nan),
	inf,			 complex(inf,  nan),
       -inf,			 0.0,
	nanL,			 complex(nanL, nanL),
	infL,			 complex(infL, nanL),
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			-2.0  +1.5  *I,
       -2,			-8/25 -6/25 *I,
	2.0,			-2.0  +1.5  *I,
       -2.0,			-0.32 -0.24 *I,
	2.0L,			-2.0L +1.5L *I,
       -2.0L,			-0.32L-0.24L*I,
	0x8000000000000000,	 complex(-inf,  inf),
       -0x8000000000000000,	 0.0,
	1/2,			 1.0200830432087846  +0.73523425861564351 *I,
       -1/2,			 0.64515716381114296 -0.46500297420214198 *I,
	0.5,			 1.0200830432087846  +0.73523425861564351 *I,
       -0.5,			 0.64515716381114296 -0.46500297420214198 *I,
	0.5L,			 1.0200830432087846L +0.73523425861564351L*I,
       -0.5L,			 0.64515716381114296L-0.46500297420214198L*I,
	1/2 +3/2 *I,		 0.04946848764596376 +0.1866662550023622  *I,
       -1/2 -3/2 *I,		 1.3265379799863011  -5.0056083908327276  *I,
	0.5 +1.5 *I,		 0.04946848764596376 +0.1866662550023622  *I,
       -0.5 -1.5 *I,		 1.3265379799863011  -5.0056083908327276  *I,
	0.5L+1.5L*I,		 0.04946848764596376L+0.1866662550023622L *I,
       -0.5L-1.5L*I,		 1.3265379799863011L -5.0056083908327276L *I,
        invalid,		 NAN);
binary('pow',			-0.5-1.5*I,
	nan,			 complex(nan,  nan),
	inf,			 complex(inf,  nan),
       -inf,			 0.0,
	nanL,			 complex(nanL, nanL),
	infL,			 complex(infL, nanL),
       -infL,			 0.0L,
	null,			 1.0,
	0,			 1.0,
	0.0,			 1.0,
	0.0L,			 1.0,
	2,			-2.0  +1.5  *I,
       -2,			-8/25 -6/25 *I,
	2.0,			-2.0  +1.5  *I,
       -2.0,			-0.32 -0.24 *I,
	2.0L,			-2.0L +1.5L *I,
       -2.0L,			-0.32L-0.24L*I,
	0x8000000000000000,	 complex(-inf,  inf),
       -0x8000000000000000,	 0.0,
	1/2,			 0.7352342586156434   -1.0200830432087846   *I,
       -1/2,			 0.46500297420214193  +0.64515716381114296  *I,
	0.5,			 0.7352342586156434   -1.0200830432087846   *I,
       -0.5,			 0.46500297420214193  +0.64515716381114296  *I,
	0.5L,			 0.7352342586156434   -1.0200830432087846   *I,
       -0.5L,			 0.46500297420214193L +0.64515716381114296L *I,
	1/2 +3/2 *I,		 20.779272825883975   -5.5067221500015879   *I,
       -1/2 -3/2 *I,		 0.044966836912657751 +0.011916676724798111 *I,
	0.5 +1.5 *I,		 20.779272825883975   -5.5067221500015879   *I,
       -0.5 -1.5 *I,		 0.044966836912657751 +0.011916676724798111 *I,
	0.5L+1.5L*I,		 20.779272825883975L  -5.5067221500015879L  *I,
       -0.5L-1.5L*I,		 0.044966836912657751L+0.011916676724798111L*I,
        invalid,		 NAN);
binary('pow',			 0.5L+1.5L*I,
	nan,			 complex(nanL, nanL),
	inf,			 complex(infL, nanL),
       -inf,			 0.0L,
	nanL,			 complex(nanL, nanL),
	infL,			 complex(infL, nanL),
       -infL,			 0.0L,
	null,			 1.0L,
	0,			 1.0L,
	0.0,			 1.0L,
	0.0L,			 1.0L,
	2,			-2.0L +1.5L *I,
       -2,			-8/25L-6/25L*I,
	2.0,			-2.0L +1.5L *I,
       -2.0,			-0.32L-0.24L*I,
	2.0L,			-2.0L +1.5L *I,
       -2.0L,			-0.32L-0.24L*I,
	0x8000000000000000,	 complex(-infL, infL),
       -0x8000000000000000,	 0.0L,
	1/2,			 1.0200830432087846L +0.73523425861564351L*I,
       -1/2,			 0.64515716381114296L-0.46500297420214198L*I,
	0.5,			 1.0200830432087846L +0.73523425861564351L*I,
       -0.5,			 0.64515716381114296L-0.46500297420214198L*I,
	0.5L,			 1.0200830432087846L +0.73523425861564351L*I,
       -0.5L,			 0.64515716381114296L-0.46500297420214198L*I,
	1/2 +3/2 *I,		 0.04946848764596376L+0.1866662550023622L *I,
       -1/2 -3/2 *I,		 1.3265379799863011L -5.0056083908327276L *I,
	0.5 +1.5 *I,		 0.04946848764596376L+0.1866662550023622L *I,
       -0.5 -1.5 *I,		 1.3265379799863011L -5.0056083908327276L *I,
	0.5L+1.5L*I,		 0.04946848764596376L+0.1866662550023622L *I,
       -0.5L-1.5L*I,		 1.3265379799863011L -5.0056083908327276L *I,
        invalid,		 NAN);
binary('pow',			-0.5L-1.5L*I,
	nan,			 complex(nanL, nanL),
	inf,			 complex(infL, nanL),
       -inf,			 0.0L,
	nanL,			 complex(nanL, nanL),
	infL,			 complex(infL, nanL),
       -infL,			 0.0L,
	null,			 1.0L,
	0,			 1.0L,
	0.0,			 1.0L,
	0.0L,			 1.0L,
	2,			-2.0L +1.5L *I,
       -2,			-8/25L-6/25L*I,
	2.0,			-2.0L +1.5L *I,
       -2.0,			-0.32L-0.24L*I,
	2.0L,			-2.0L +1.5L *I,
       -2.0L,			-0.32L-0.24L*I,
	0x8000000000000000,	 complex(infL, infL),
       -0x8000000000000000,	 0.0L,
	1/2,			 0.7352342586156434L  -1.0200830432087846L  *I,
       -1/2,			 0.46500297420214193L +0.64515716381114296L *I,
	0.5,			 0.7352342586156434L  -1.0200830432087846L  *I,
       -0.5,			 0.46500297420214193L +0.64515716381114296L *I,
	0.5L,			 0.7352342586156434L  -1.0200830432087846L  *I,
       -0.5L,			 0.46500297420214193L +0.64515716381114296L *I,
	1/2 +3/2 *I,		 20.779272825883975L  -5.5067221500015879L  *I,
       -1/2 -3/2 *I,		 0.044966836912657751L+0.011916676724798111L*I,
	0.5 +1.5 *I,		 20.779272825883975L  -5.5067221500015879L  *I,
       -0.5 -1.5 *I,		 0.044966836912657751L+0.011916676724798111L*I,
	0.5L+1.5L*I,		 20.779272825883975L  -5.5067221500015879L  *I,
       -0.5L-1.5L*I,		 0.044966836912657751L+0.011916676724798111L*I,
        invalid,		 NAN);
binary('pow',			 invalid,
	null,			 NAN,
	0,			 NAN,
	0.0,			 NAN,
	0.0L,			 NAN,
	0x8000000000000000,	 NAN,
	1/2,			 NAN,
	1/2 +3/2 *I,		 NAN,
	0.5 +1.5 *I,		 NAN,
	0.5L+1.5L*I,		 NAN,
        invalid,		 NAN);
binary('hypot',			 nan,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 nan,
	0,			 nan,
	0.0,			 nan,
	0.0L,			 nan,
	2,			 nan,
       -2,			 nan,
	2.0,			 nan,
       -2.0,			 nan,
	2.0L,			 nan,
       -2.0L,			 nan,
	0x8000000000000000,	 nan,
       -0x8000000000000000,	 nan,
	1/2,			 nan,
       -1/2,			 nan,
	0.5,			 nan,
       -0.5,			 nan,
	0.5L,			 nan,
       -0.5L,			 nan,
	1/2 +3/2 *I,		 nan,
       -1/2 -3/2 *I,		 nan,
	0.5 +1.5 *I,		 nan,
       -0.5 -1.5 *I,		 nan,
	0.5L+1.5L*I,		 nanL,
       -0.5L-1.5L*I,		 nanL,
        invalid,		 NAN);
binary('hypot',			 inf,
	nan,			 inf,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 infL,
	infL,			 infL,
       -infL,			 infL,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 inf,
       -2,			 inf,
	2.0,			 inf,
       -2.0,			 inf,
	2.0L,			 inf,
       -2.0L,			 inf,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	 inf,
	1/2,			 inf,
       -1/2,			 inf,
	0.5,			 inf,
       -0.5,			 inf,
	0.5L,			 inf,
       -0.5L,			 inf,
	1/2 +3/2 *I,		 inf,
       -1/2 -3/2 *I,		 inf,
	0.5 +1.5 *I,		 inf,
       -0.5 -1.5 *I,		 inf,
	0.5L+1.5L*I,		 infL,
       -0.5L-1.5L*I,		 infL,
        invalid,		 NAN);
binary('hypot',			-inf,
	nan,			 inf,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 infL,
	infL,			 infL,
       -infL,			 infL,
	null,			 inf,
	0,			 inf,
	0.0,			 inf,
	0.0L,			 inf,
	2,			 inf,
       -2,			 inf,
	2.0,			 inf,
       -2.0,			 inf,
	2.0L,			 inf,
       -2.0L,			 inf,
	0x8000000000000000,	 inf,
       -0x8000000000000000,	 inf,
	1/2,			 inf,
       -1/2,			 inf,
	0.5,			 inf,
       -0.5,			 inf,
	0.5L,			 inf,
       -0.5L,			 inf,
	1/2 +3/2 *I,		 inf,
       -1/2 -3/2 *I,		 inf,
	0.5 +1.5 *I,		 inf,
       -0.5 -1.5 *I,		 inf,
	0.5L+1.5L*I,		 infL,
       -0.5L-1.5L*I,		 infL,
        invalid,		 NAN);
binary('hypot',			 nanL,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 nanL,
	0,			 nanL,
	0.0,			 nanL,
	0.0L,			 nanL,
	2,			 nanL,
       -2,			 nanL,
	2.0,			 nanL,
       -2.0,			 nanL,
	2.0L,			 nanL,
       -2.0L,			 nanL,
	0x8000000000000000,	 nanL,
       -0x8000000000000000,	 nanL,
	1/2,			 nanL,
       -1/2,			 nanL,
	0.5,			 nanL,
       -0.5,			 nanL,
	0.5L,			 nanL,
       -0.5L,			 nanL,
	1/2 +3/2 *I,		 nanL,
       -1/2 -3/2 *I,		 nanL,
	0.5 +1.5 *I,		 nanL,
       -0.5 -1.5 *I,		 nanL,
	0.5L+1.5L*I,		 nanL,
       -0.5L-1.5L*I,		 nanL,
        invalid,		 NAN);
binary('hypot',			 infL,
	nan,			 infL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 infL,
	infL,			 infL,
       -infL,			 infL,
	null,			 infL,
	0,			 infL,
	0.0,			 infL,
	0.0L,			 infL,
	2,			 infL,
       -2,			 infL,
	2.0,			 infL,
       -2.0,			 infL,
	2.0L,			 infL,
       -2.0L,			 infL,
	0x8000000000000000,	 infL,
       -0x8000000000000000,	 infL,
	1/2,			 infL,
       -1/2,			 infL,
	0.5,			 infL,
       -0.5,			 infL,
	0.5L,			 infL,
       -0.5L,			 infL,
	1/2 +3/2 *I,		 infL,
       -1/2 -3/2 *I,		 infL,
	0.5 +1.5 *I,		 infL,
       -0.5 -1.5 *I,		 infL,
	0.5L+1.5L*I,		 infL,
       -0.5L-1.5L*I,		 infL,
        invalid,		 NAN);
binary('hypot',			-infL,
	nan,			 infL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 infL,
	infL,			 infL,
       -infL,			 infL,
	null,			 infL,
	0,			 infL,
	0.0,			 infL,
	0.0L,			 infL,
	2,			 infL,
       -2,			 infL,
	2.0,			 infL,
       -2.0,			 infL,
	2.0L,			 infL,
       -2.0L,			 infL,
	0x8000000000000000,	 infL,
       -0x8000000000000000,	 infL,
	1/2,			 infL,
       -1/2,			 infL,
	0.5,			 infL,
       -0.5,			 infL,
	0.5L,			 infL,
       -0.5L,			 infL,
	1/2 +3/2 *I,		 infL,
       -1/2 -3/2 *I,		 infL,
	0.5 +1.5 *I,		 infL,
       -0.5 -1.5 *I,		 infL,
	0.5L+1.5L*I,		 infL,
       -0.5L-1.5L*I,		 infL,
        invalid,		 NAN);
binary('hypot',			 null,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 2.0,
       -2,			 2.0,
	2.0,			 2.0,
       -2.0,			 2.0,
	2.0L,			 2.0L,
       -2.0L,			 2.0L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 0.5,
       -1/2,			 0.5,
	0.5,			 0.5,
       -0.5,			 0.5,
	0.5L,			 0.5L,
       -0.5L,			 0.5L,
	1/2 +3/2 *I,		 1.5811388300841898,
       -1/2 -3/2 *I,		 1.5811388300841898,
	0.5 +1.5 *I,		 1.5811388300841898,
       -0.5 -1.5 *I,		 1.5811388300841898,
	0.5L+1.5L*I,		 1.5811388300841898L,
       -0.5L-1.5L*I,		 1.5811388300841898L,
        invalid,		 NAN);
binary('hypot',			 0,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 2.0,
       -2,			 2.0,
	2.0,			 2.0,
       -2.0,			 2.0,
	2.0L,			 2.0L,
       -2.0L,			 2.0L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 0.5,
       -1/2,			 0.5,
	0.5,			 0.5,
       -0.5,			 0.5,
	0.5L,			 0.5L,
       -0.5L,			 0.5L,
	1/2 +3/2 *I,		 1.5811388300841898,
       -1/2 -3/2 *I,		 1.5811388300841898,
	0.5 +1.5 *I,		 1.5811388300841898,
       -0.5 -1.5 *I,		 1.5811388300841898,
	0.5L+1.5L*I,		 1.5811388300841898L,
       -0.5L-1.5L*I,		 1.5811388300841898L,
        invalid,		 NAN);
binary('hypot',			 0.0,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 0.0,
	0,			 0.0,
	0.0,			 0.0,
	0.0L,			 0.0L,
	2,			 2.0,
       -2,			 2.0,
	2.0,			 2.0,
       -2.0,			 2.0,
	2.0L,			 2.0L,
       -2.0L,			 2.0L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 0.5,
       -1/2,			 0.5,
	0.5,			 0.5,
       -0.5,			 0.5,
	0.5L,			 0.5L,
       -0.5L,			 0.5L,
	1/2 +3/2 *I,		 1.5811388300841898,
       -1/2 -3/2 *I,		 1.5811388300841898,
	0.5 +1.5 *I,		 1.5811388300841898,
       -0.5 -1.5 *I,		 1.5811388300841898,
	0.5L+1.5L*I,		 1.5811388300841898L,
       -0.5L-1.5L*I,		 1.5811388300841898L,
        invalid,		 NAN);
binary('hypot',			 0.0L,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 0.0L,
	0,			 0.0L,
	0.0,			 0.0L,
	0.0L,			 0.0L,
	2,			 2.0L,
       -2,			 2.0L,
	2.0,			 2.0L,
       -2.0,			 2.0L,
	2.0L,			 2.0L,
       -2.0L,			 2.0L,
	0x8000000000000000,	 9223372036854775800.0L,
       -0x8000000000000000,	 9223372036854775800.0L,
	1/2,			 0.5L,
       -1/2,			 0.5L,
	0.5,			 0.5L,
       -0.5,			 0.5L,
	0.5L,			 0.5L,
       -0.5L,			 0.5L,
	1/2 +3/2 *I,		 1.5811388300841898L,
       -1/2 -3/2 *I,		 1.5811388300841898L,
	0.5 +1.5 *I,		 1.5811388300841898L,
       -0.5 -1.5 *I,		 1.5811388300841898L,
	0.5L+1.5L*I,		 1.5811388300841898L,
       -0.5L-1.5L*I,		 1.5811388300841898L,
        invalid,		 NAN);
binary('hypot',			 2,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 2.0,
	0,			 2.0,
	0.0,			 2.0,
	0.0L,			 2.0L,
	2,			 2.8284271247461903,
       -2,			 2.8284271247461903,
	2.0,			 2.8284271247461903,
       -2.0,			 2.8284271247461903,
	2.0L,			 2.8284271247461903L,
       -2.0L,			 2.8284271247461903L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 2.0615528128088303,
       -1/2,			 2.0615528128088303,
	0.5,			 2.0615528128088303,
       -0.5,			 2.0615528128088303,
	0.5L,			 2.0615528128088303L,
       -0.5L,			 2.0615528128088303L,
	1/2 +3/2 *I,		 2.5495097567963922,
       -1/2 -3/2 *I,		 2.5495097567963922,
	0.5 +1.5 *I,		 2.5495097567963922,
       -0.5 -1.5 *I,		 2.5495097567963922,
	0.5L+1.5L*I,		 2.5495097567963922L,
       -0.5L-1.5L*I,		 2.5495097567963922L,
        invalid,		 NAN);
binary('hypot',			-2,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 2.0,
	0,			 2.0,
	0.0,			 2.0,
	0.0L,			 2.0L,
	2,			 2.8284271247461903,
       -2,			 2.8284271247461903,
	2.0,			 2.8284271247461903,
       -2.0,			 2.8284271247461903,
	2.0L,			 2.8284271247461903L,
       -2.0L,			 2.8284271247461903L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 2.0615528128088303,
       -1/2,			 2.0615528128088303,
	0.5,			 2.0615528128088303,
       -0.5,			 2.0615528128088303,
	0.5L,			 2.0615528128088303L,
       -0.5L,			 2.0615528128088303L,
	1/2 +3/2 *I,		 2.5495097567963922,
       -1/2 -3/2 *I,		 2.5495097567963922,
	0.5 +1.5 *I,		 2.5495097567963922,
       -0.5 -1.5 *I,		 2.5495097567963922,
	0.5L+1.5L*I,		 2.5495097567963922L,
       -0.5L-1.5L*I,		 2.5495097567963922L,
        invalid,		 NAN);
binary('hypot',			 2.0,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 2.0,
	0,			 2.0,
	0.0,			 2.0,
	0.0L,			 2.0L,
	2,			 2.8284271247461903,
       -2,			 2.8284271247461903,
	2.0,			 2.8284271247461903,
       -2.0,			 2.8284271247461903,
	2.0L,			 2.8284271247461903L,
       -2.0L,			 2.8284271247461903L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 2.0615528128088303,
       -1/2,			 2.0615528128088303,
	0.5,			 2.0615528128088303,
       -0.5,			 2.0615528128088303,
	0.5L,			 2.0615528128088303L,
       -0.5L,			 2.0615528128088303L,
	1/2 +3/2 *I,		 2.5495097567963922,
       -1/2 -3/2 *I,		 2.5495097567963922,
	0.5 +1.5 *I,		 2.5495097567963922,
       -0.5 -1.5 *I,		 2.5495097567963922,
	0.5L+1.5L*I,		 2.5495097567963922L,
       -0.5L-1.5L*I,		 2.5495097567963922L,
        invalid,		 NAN);
binary('hypot',			-2.0,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 2.0,
	0,			 2.0,
	0.0,			 2.0,
	0.0L,			 2.0L,
	2,			 2.8284271247461903,
       -2,			 2.8284271247461903,
	2.0,			 2.8284271247461903,
       -2.0,			 2.8284271247461903,
	2.0L,			 2.8284271247461903L,
       -2.0L,			 2.8284271247461903L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 2.0615528128088303,
       -1/2,			 2.0615528128088303,
	0.5,			 2.0615528128088303,
       -0.5,			 2.0615528128088303,
	0.5L,			 2.0615528128088303L,
       -0.5L,			 2.0615528128088303L,
	1/2 +3/2 *I,		 2.5495097567963922,
       -1/2 -3/2 *I,		 2.5495097567963922,
	0.5 +1.5 *I,		 2.5495097567963922,
       -0.5 -1.5 *I,		 2.5495097567963922,
	0.5L+1.5L*I,		 2.5495097567963922L,
       -0.5L-1.5L*I,		 2.5495097567963922L,
        invalid,		 NAN);
binary('hypot',			 2.0L,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 2.0L,
	0,			 2.0L,
	0.0,			 2.0L,
	0.0L,			 2.0L,
	2,			 2.8284271247461903L,
       -2,			 2.8284271247461903L,
	2.0,			 2.8284271247461903L,
       -2.0,			 2.8284271247461903L,
	2.0L,			 2.8284271247461903L,
       -2.0L,			 2.8284271247461903L,
	0x8000000000000000,	 9223372036854775800.0L,
       -0x8000000000000000,	 9223372036854775800.0L,
	1/2,			 2.0615528128088303L,
       -1/2,			 2.0615528128088303L,
	0.5,			 2.0615528128088303L,
       -0.5,			 2.0615528128088303L,
	0.5L,			 2.0615528128088303L,
       -0.5L,			 2.0615528128088303L,
	1/2 +3/2 *I,		 2.5495097567963922L,
       -1/2 -3/2 *I,		 2.5495097567963922L,
	0.5 +1.5 *I,		 2.5495097567963922L,
       -0.5 -1.5 *I,		 2.5495097567963922L,
	0.5L+1.5L*I,		 2.5495097567963922L,
       -0.5L-1.5L*I,		 2.5495097567963922L,
        invalid,		 NAN);
binary('hypot',			-2.0L,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 2.0L,
	0,			 2.0L,
	0.0,			 2.0L,
	0.0L,			 2.0L,
	2,			 2.8284271247461903L,
       -2,			 2.8284271247461903L,
	2.0,			 2.8284271247461903L,
       -2.0,			 2.8284271247461903L,
	2.0L,			 2.8284271247461903L,
       -2.0L,			 2.8284271247461903L,
	0x8000000000000000,	 9223372036854775800.0L,
       -0x8000000000000000,	 9223372036854775800.0L,
	1/2,			 2.0615528128088303L,
       -1/2,			 2.0615528128088303L,
	0.5,			 2.0615528128088303L,
       -0.5,			 2.0615528128088303L,
	0.5L,			 2.0615528128088303L,
       -0.5L,			 2.0615528128088303L,
	1/2 +3/2 *I,		 2.5495097567963922L,
       -1/2 -3/2 *I,		 2.5495097567963922L,
	0.5 +1.5 *I,		 2.5495097567963922L,
       -0.5 -1.5 *I,		 2.5495097567963922L,
	0.5L+1.5L*I,		 2.5495097567963922L,
       -0.5L-1.5L*I,		 2.5495097567963922L,
        invalid,		 NAN);
binary('hypot',			 0x8000000000000000,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 9223372036854775800.0,
	0,			 9223372036854775800.0,
	0.0,			 9223372036854775800.0,
	0.0L,			 9223372036854775800.0L,
	2,			 9223372036854775800.0,
       -2,			 9223372036854775800.0,
	2.0,			 9223372036854775800.0,
       -2.0,			 9223372036854775800.0,
	2.0L,			 9223372036854775800.0L,
       -2.0L,			 9223372036854775800.0L,
	0x8000000000000000,	 13043817825332783000.0,
       -0x8000000000000000,	 13043817825332783000.0,
	1/2,			 9223372036854775800.0,
       -1/2,			 9223372036854775800.0,
	0.5,			 9223372036854775800.0,
       -0.5,			 9223372036854775800.0,
	0.5L,			 9223372036854775800.0L,
       -0.5L,			 9223372036854775800.0L,
	1/2 +3/2 *I,		 9223372036854775800.0,
       -1/2 -3/2 *I,		 9223372036854775800.0,
	0.5 +1.5 *I,		 9223372036854775800.0,
       -0.5 -1.5 *I,		 9223372036854775800.0,
	0.5L+1.5L*I,		 9223372036854775800.0L,
       -0.5L-1.5L*I,		 9223372036854775800.0L,
        invalid,		 NAN);
binary('hypot',			-0x8000000000000000,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 9223372036854775800.0,
	0,			 9223372036854775800.0,
	0.0,			 9223372036854775800.0,
	0.0L,			 9223372036854775800.0L,
	2,			 9223372036854775800.0,
       -2,			 9223372036854775800.0,
	2.0,			 9223372036854775800.0,
       -2.0,			 9223372036854775800.0,
	2.0L,			 9223372036854775800.0L,
       -2.0L,			 9223372036854775800.0L,
	0x8000000000000000,	 13043817825332783000.0,
       -0x8000000000000000,	 13043817825332783000.0,
	1/2,			 9223372036854775800.0,
       -1/2,			 9223372036854775800.0,
	0.5,			 9223372036854775800.0,
       -0.5,			 9223372036854775800.0,
	0.5L,			 9223372036854775800.0L,
       -0.5L,			 9223372036854775800.0L,
	1/2 +3/2 *I,		 9223372036854775800.0,
       -1/2 -3/2 *I,		 9223372036854775800.0,
	0.5 +1.5 *I,		 9223372036854775800.0,
       -0.5 -1.5 *I,		 9223372036854775800.0,
	0.5L+1.5L*I,		 9223372036854775800.0L,
       -0.5L-1.5L*I,		 9223372036854775800.0L,
        invalid,		 NAN);
binary('hypot',			 1/2,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 0.5,
	0,			 0.5,
	0.0,			 0.5,
	0.0L,			 0.5L,
	2,			 2.0615528128088303,
       -2,			 2.0615528128088303,
	2.0,			 2.0615528128088303,
       -2.0,			 2.0615528128088303,
	2.0L,			 2.0615528128088303L,
       -2.0L,			 2.0615528128088303L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 0.70710678118654757,
       -1/2,			 0.70710678118654757,
	0.5,			 0.70710678118654757,
       -0.5,			 0.70710678118654757,
	0.5L,			 0.70710678118654757L,
       -0.5L,			 0.70710678118654757L,
	1/2 +3/2 *I,		 1.6583123951777001,
       -1/2 -3/2 *I,		 1.6583123951777001,
	0.5 +1.5 *I,		 1.6583123951777001,
       -0.5 -1.5 *I,		 1.6583123951777001,
	0.5L+1.5L*I,		 1.6583123951777001L,
       -0.5L-1.5L*I,		 1.6583123951777001L,
        invalid,		 NAN);
binary('hypot',			-1/2,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 0.5,
	0,			 0.5,
	0.0,			 0.5,
	0.0L,			 0.5L,
	2,			 2.0615528128088303,
       -2,			 2.0615528128088303,
	2.0,			 2.0615528128088303,
       -2.0,			 2.0615528128088303,
	2.0L,			 2.0615528128088303L,
       -2.0L,			 2.0615528128088303L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 0.70710678118654757,
       -1/2,			 0.70710678118654757,
	0.5,			 0.70710678118654757,
       -0.5,			 0.70710678118654757,
	0.5L,			 0.70710678118654757L,
       -0.5L,			 0.70710678118654757L,
	1/2 +3/2 *I,		 1.6583123951777001,
       -1/2 -3/2 *I,		 1.6583123951777001,
	0.5 +1.5 *I,		 1.6583123951777001,
       -0.5 -1.5 *I,		 1.6583123951777001,
	0.5L+1.5L*I,		 1.6583123951777001L,
       -0.5L-1.5L*I,		 1.6583123951777001L,
        invalid,		 NAN);
binary('hypot',			 0.5,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 0.5,
	0,			 0.5,
	0.0,			 0.5,
	0.0L,			 0.5L,
	2,			 2.0615528128088303,
       -2,			 2.0615528128088303,
	2.0,			 2.0615528128088303,
       -2.0,			 2.0615528128088303,
	2.0L,			 2.0615528128088303L,
       -2.0L,			 2.0615528128088303L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 0.70710678118654757,
       -1/2,			 0.70710678118654757,
	0.5,			 0.70710678118654757,
       -0.5,			 0.70710678118654757,
	0.5L,			 0.70710678118654757L,
       -0.5L,			 0.70710678118654757L,
	1/2 +3/2 *I,		 1.6583123951777001,
       -1/2 -3/2 *I,		 1.6583123951777001,
	0.5 +1.5 *I,		 1.6583123951777001,
       -0.5 -1.5 *I,		 1.6583123951777001,
	0.5L+1.5L*I,		 1.6583123951777001L,
       -0.5L-1.5L*I,		 1.6583123951777001L,
        invalid,		 NAN);
binary('hypot',			-0.5,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 0.5,
	0,			 0.5,
	0.0,			 0.5,
	0.0L,			 0.5L,
	2,			 2.0615528128088303,
       -2,			 2.0615528128088303,
	2.0,			 2.0615528128088303,
       -2.0,			 2.0615528128088303,
	2.0L,			 2.0615528128088303L,
       -2.0L,			 2.0615528128088303L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 0.70710678118654757,
       -1/2,			 0.70710678118654757,
	0.5,			 0.70710678118654757,
       -0.5,			 0.70710678118654757,
	0.5L,			 0.70710678118654757L,
       -0.5L,			 0.70710678118654757L,
	1/2 +3/2 *I,		 1.6583123951777001,
       -1/2 -3/2 *I,		 1.6583123951777001,
	0.5 +1.5 *I,		 1.6583123951777001,
       -0.5 -1.5 *I,		 1.6583123951777001,
	0.5L+1.5L*I,		 1.6583123951777001L,
       -0.5L-1.5L*I,		 1.6583123951777001L,
        invalid,		 NAN);
binary('hypot',			 0.5L,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 0.5L,
	0,			 0.5L,
	0.0,			 0.5L,
	0.0L,			 0.5L,
	2,			 2.0615528128088303L,
       -2,			 2.0615528128088303L,
	2.0,			 2.0615528128088303L,
       -2.0,			 2.0615528128088303L,
	2.0L,			 2.0615528128088303L,
       -2.0L,			 2.0615528128088303L,
	0x8000000000000000,	 9223372036854775800.0L,
       -0x8000000000000000,	 9223372036854775800.0L,
	1/2,			 0.70710678118654757L,
       -1/2,			 0.70710678118654757L,
	0.5,			 0.70710678118654757L,
       -0.5,			 0.70710678118654757L,
	0.5L,			 0.70710678118654757L,
       -0.5L,			 0.70710678118654757L,
	1/2 +3/2 *I,		 1.6583123951777001L,
       -1/2 -3/2 *I,		 1.6583123951777001L,
	0.5 +1.5 *I,		 1.6583123951777001L,
       -0.5 -1.5 *I,		 1.6583123951777001L,
	0.5L+1.5L*I,		 1.6583123951777001L,
       -0.5L-1.5L*I,		 1.6583123951777001L,
        invalid,		 NAN);
binary('hypot',			-0.5L,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 0.5L,
	0,			 0.5L,
	0.0,			 0.5L,
	0.0L,			 0.5L,
	2,			 2.0615528128088303L,
       -2,			 2.0615528128088303L,
	2.0,			 2.0615528128088303L,
       -2.0,			 2.0615528128088303L,
	2.0L,			 2.0615528128088303L,
       -2.0L,			 2.0615528128088303L,
	0x8000000000000000,	 9223372036854775800.0L,
       -0x8000000000000000,	 9223372036854775800.0L,
	1/2,			 0.70710678118654757L,
       -1/2,			 0.70710678118654757L,
	0.5,			 0.70710678118654757L,
       -0.5,			 0.70710678118654757L,
	0.5L,			 0.70710678118654757L,
       -0.5L,			 0.70710678118654757L,
	1/2 +3/2 *I,		 1.6583123951777001L,
       -1/2 -3/2 *I,		 1.6583123951777001L,
	0.5 +1.5 *I,		 1.6583123951777001L,
       -0.5 -1.5 *I,		 1.6583123951777001L,
	0.5L+1.5L*I,		 1.6583123951777001L,
       -0.5L-1.5L*I,		 1.6583123951777001L,
        invalid,		 NAN);
binary('hypot',			 1/2+3/2*I,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 1.5811388300841898,
	0,			 1.5811388300841898,
	0.0,			 1.5811388300841898,
	0.0L,			 1.5811388300841898L,
	2,			 2.5495097567963922,
       -2,			 2.5495097567963922,
	2.0,			 2.5495097567963922,
       -2.0,			 2.5495097567963922,
	2.0L,			 2.5495097567963922L,
       -2.0L,			 2.5495097567963922L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 1.6583123951777001,
       -1/2,			 1.6583123951777001,
	0.5,			 1.6583123951777001,
       -0.5,			 1.6583123951777001,
	0.5L,			 1.6583123951777001L,
       -0.5L,			 1.6583123951777001L,
	1/2 +3/2 *I,		 2.2360679774997898,
       -1/2 -3/2 *I,		 2.2360679774997898,
	0.5 +1.5 *I,		 2.2360679774997898,
       -0.5 -1.5 *I,		 2.2360679774997898,
	0.5L+1.5L*I,		 2.2360679774997898L,
       -0.5L-1.5L*I,		 2.2360679774997898L,
        invalid,		 NAN);
binary('hypot',			-1/2-3/2*I,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 1.5811388300841898,
	0,			 1.5811388300841898,
	0.0,			 1.5811388300841898,
	0.0L,			 1.5811388300841898L,
	2,			 2.5495097567963922,
       -2,			 2.5495097567963922,
	2.0,			 2.5495097567963922,
       -2.0,			 2.5495097567963922,
	2.0L,			 2.5495097567963922L,
       -2.0L,			 2.5495097567963922L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 1.6583123951777001,
       -1/2,			 1.6583123951777001,
	0.5,			 1.6583123951777001,
       -0.5,			 1.6583123951777001,
	0.5L,			 1.6583123951777001L,
       -0.5L,			 1.6583123951777001L,
	1/2 +3/2 *I,		 2.2360679774997898,
       -1/2 -3/2 *I,		 2.2360679774997898,
	0.5 +1.5 *I,		 2.2360679774997898,
       -0.5 -1.5 *I,		 2.2360679774997898,
	0.5L+1.5L*I,		 2.2360679774997898L,
       -0.5L-1.5L*I,		 2.2360679774997898L,
        invalid,		 NAN);
binary('hypot',			 0.5+1.5*I,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 1.5811388300841898,
	0,			 1.5811388300841898,
	0.0,			 1.5811388300841898,
	0.0L,			 1.5811388300841898L,
	2,			 2.5495097567963922,
       -2,			 2.5495097567963922,
	2.0,			 2.5495097567963922,
       -2.0,			 2.5495097567963922,
	2.0L,			 2.5495097567963922L,
       -2.0L,			 2.5495097567963922L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 1.6583123951777001,
       -1/2,			 1.6583123951777001,
	0.5,			 1.6583123951777001,
       -0.5,			 1.6583123951777001,
	0.5L,			 1.6583123951777001L,
       -0.5L,			 1.6583123951777001L,
	1/2 +3/2 *I,		 2.2360679774997898,
       -1/2 -3/2 *I,		 2.2360679774997898,
	0.5 +1.5 *I,		 2.2360679774997898,
       -0.5 -1.5 *I,		 2.2360679774997898,
	0.5L+1.5L*I,		 2.2360679774997898L,
       -0.5L-1.5L*I,		 2.2360679774997898L,
        invalid,		 NAN);
binary('hypot',			-0.5-1.5*I,
	nan,			 nan,
	inf,			 inf,
       -inf,			 inf,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 1.5811388300841898,
	0,			 1.5811388300841898,
	0.0,			 1.5811388300841898,
	0.0L,			 1.5811388300841898L,
	2,			 2.5495097567963922,
       -2,			 2.5495097567963922,
	2.0,			 2.5495097567963922,
       -2.0,			 2.5495097567963922,
	2.0L,			 2.5495097567963922L,
       -2.0L,			 2.5495097567963922L,
	0x8000000000000000,	 9223372036854775800.0,
       -0x8000000000000000,	 9223372036854775800.0,
	1/2,			 1.6583123951777001,
       -1/2,			 1.6583123951777001,
	0.5,			 1.6583123951777001,
       -0.5,			 1.6583123951777001,
	0.5L,			 1.6583123951777001L,
       -0.5L,			 1.6583123951777001L,
	1/2 +3/2 *I,		 2.2360679774997898,
       -1/2 -3/2 *I,		 2.2360679774997898,
	0.5 +1.5 *I,		 2.2360679774997898,
       -0.5 -1.5 *I,		 2.2360679774997898,
	0.5L+1.5L*I,		 2.2360679774997898L,
       -0.5L-1.5L*I,		 2.2360679774997898L,
        invalid,		 NAN);
binary('hypot',			 0.5L+1.5L*I,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 1.5811388300841898L,
	0,			 1.5811388300841898L,
	0.0,			 1.5811388300841898L,
	0.0L,			 1.5811388300841898L,
	2,			 2.5495097567963922L,
       -2,			 2.5495097567963922L,
	2.0,			 2.5495097567963922L,
       -2.0,			 2.5495097567963922L,
	2.0L,			 2.5495097567963922L,
       -2.0L,			 2.5495097567963922L,
	0x8000000000000000,	 9223372036854775800.0L,
       -0x8000000000000000,	 9223372036854775800.0L,
	1/2,			 1.6583123951777001L,
       -1/2,			 1.6583123951777001L,
	0.5,			 1.6583123951777001L,
       -0.5,			 1.6583123951777001L,
	0.5L,			 1.6583123951777001L,
       -0.5L,			 1.6583123951777001L,
	1/2 +3/2 *I,		 2.2360679774997898L,
       -1/2 -3/2 *I,		 2.2360679774997898L,
	0.5 +1.5 *I,		 2.2360679774997898L,
       -0.5 -1.5 *I,		 2.2360679774997898L,
	0.5L+1.5L*I,		 2.2360679774997898L,
       -0.5L-1.5L*I,		 2.2360679774997898L,
        invalid,		 NAN);
binary('hypot',			-0.5L-1.5L*I,
	nan,			 nanL,
	inf,			 infL,
       -inf,			 infL,
	nanL,			 nanL,
	infL,			 infL,
       -infL,			 infL,
	null,			 1.5811388300841898L,
	0,			 1.5811388300841898L,
	0.0,			 1.5811388300841898L,
	0.0L,			 1.5811388300841898L,
	2,			 2.5495097567963922L,
       -2,			 2.5495097567963922L,
	2.0,			 2.5495097567963922L,
       -2.0,			 2.5495097567963922L,
	2.0L,			 2.5495097567963922L,
       -2.0L,			 2.5495097567963922L,
	0x8000000000000000,	 9223372036854775800.0L,
       -0x8000000000000000,	 9223372036854775800.0L,
	1/2,			 1.6583123951777001L,
       -1/2,			 1.6583123951777001L,
	0.5,			 1.6583123951777001L,
       -0.5,			 1.6583123951777001L,
	0.5L,			 1.6583123951777001L,
       -0.5L,			 1.6583123951777001L,
	1/2 +3/2 *I,		 2.2360679774997898L,
       -1/2 -3/2 *I,		 2.2360679774997898L,
	0.5 +1.5 *I,		 2.2360679774997898L,
       -0.5 -1.5 *I,		 2.2360679774997898L,
	0.5L+1.5L*I,		 2.2360679774997898L,
       -0.5L-1.5L*I,		 2.2360679774997898L,
        invalid,		 NAN);
compare(3+1.0*I, 2 + (1+1.0*I));
compare(1-1.0*I, 2 - (1+1.0*I));
compare(2+2.0*I, 2 * (1+1.0*I));
compare(1-1.0*I, 2 / (1+1.0*I));
compare(3+1.0*I, 2.0 + (1+1.0*I));
compare(1-1.0*I, 2.0 - (1+1.0*I));
compare(2+2.0*I, 2.0 * (1+1.0*I));
compare(1-1.0*I, 2.0 / (1+1.0*I));
compare(0x18000000000000000+0x8000000000000000.0*I, 0x10000000000000000 + (0x8000000000000000+0x8000000000000000.0*I));
compare(0x8000000000000000-0x8000000000000000.0*I, 0x10000000000000000 - (0x8000000000000000+0x8000000000000000.0*I));
compare(0x80000000000000000000000000000000+0x80000000000000000000000000000000.0*I, 0x10000000000000000 * (0x8000000000000000+0x8000000000000000.0*I));
compare(1-1.0*I, 0x10000000000000000 / (0x8000000000000000+0x8000000000000000.0*I));
compare(1.5+1.0*I, 0.5 + (1+1.0*I));
compare(-0.5-1.0*I, 1/2 - (1+1.0*I));
compare(0.5+0.5*I, 0.5 * (1+1.0*I));
compare(0.25-0.25*I, 0.5 / (1+1.0*I));
compare(3+1*I, 2 + (1+1*I));
compare(1-1*I, 2 - (1+1*I));
compare(2+2*I, 2 * (1+1*I));
compare(1-1*I, 2 / (1+1*I));
compare(3+1*I, 2 + (1+1*I));
compare(1-1*I, 2 - (1+1*I));
compare(2+2*I, 2 * (1+1*I));
compare(1-1*I, 2 / (1+1*I));
compare(0x18000000000000000+0x8000000000000000*I, 0x10000000000000000 + (0x8000000000000000+0x8000000000000000*I));
compare(0x8000000000000000-0x8000000000000000*I, 0x10000000000000000 - (0x8000000000000000+0x8000000000000000*I));
compare(0x80000000000000000000000000000000+0x80000000000000000000000000000000*I, 0x10000000000000000 * (0x8000000000000000+0x8000000000000000*I));
compare(1-1*I, 0x10000000000000000 / (0x8000000000000000+0x8000000000000000*I));
compare(3/2+1*I, 1/2 + (1+1*I));
compare(-1/2-1*I, 1/2 - (1+1*I));
compare(1/2+1/2*I, 1/2 * (1+1*I));
compare(1/4-1/4*I, 1/2 / (1+1*I));
compare(3+1L*I, 2.0L + (1+1.0*I));
compare(1-1L*I, 2.0L - (1+1.0*I));
compare(2+2L*I, 2.0L * (1+1.0*I));
compare(1-1L*I, 2.0L / (1+1.0*I));
compare(3+1.0*I, (1+1.0*I) + 2);
compare(3+1.0*I, (1+1.0*I) - -2);
compare(2+2.0*I, (1+1.0*I) * 2);
compare(0.5+0.5*I, (1+1.0*I) / 2);
compare(3+1.0*I, (1+1.0*I) + 2.0);
compare(3+1.0*I, (1+1.0*I) - -2.0);
compare(2+2.0*I, (1+1.0*I) * 2.0);
compare(0.5+0.5*I, (1+1.0*I) / 2.0);
compare(0x18000000000000000+0x8000000000000000.0*I, (0x8000000000000000+0x8000000000000000.0*I) + 0x10000000000000000);
compare(0x18000000000000000+0x8000000000000000.0*I, (0x8000000000000000+0x8000000000000000.0*I) - -0x10000000000000000);
compare(0x10000000000000000+0x10000000000000000.0*I, (1+1.0*I) * 0x10000000000000000);
compare(0.5+0.5*I, (0x8000000000000000+0x8000000000000000.0*I) / 0x10000000000000000);
compare(1.5+1.0*I, (1+1.0*I) + 0.5);
compare(1.5+1.0*I, (1+1.0*I) - -0.5);
compare(0.5+0.5*I, (1+1.0*I) * 0.5);
compare(2+2.0*I, (1+1.0*I) / 0.5);
compare(3+1L*I, (1+1.0*I) + 2.0L);
compare(3+1L*I, (1+1.0*I) - -2.0L);
compare(2+2L*I, (1+1.0*I) * 2.0L);
compare(0.5+0.5L*I, (1+1.0*I) / 2.0L);
compare(3+3.0*I, (2+2.0*I) + (1+1.0*I));
compare(1+1.0*I, (2+2.0*I) - (1+1.0*I));
compare(0+4.0*I, (2+2.0*I) * (1+1.0*I));
compare(2, (2+2.0*I) / (1+1.0*I));
compare(3+3L*I, (2+2.0*I) + (1+1L*I));
compare(1+1L*I, (2+2.0*I) - (1+1L*I));
compare(0+4L*I, (2+2.0*I) * (1+1L*I));
compare(2, (2+2.0*I) / (1+1L*I));
compare(1, (1+1.0*I) == (1+1.0*I));
compare(0, (1+1.0*I) == (2+2.0*I));
compare(0, (1+1.0*I) == (2+2.0*I));
compare((1+1.0*I), (1+1.0*I));
compare((1+1.0*I), (1+1L*I));
compare(0, (1+1.0*I) == (2+2L*I));
compare(0, (1+1.0*I) == (2+2L*I));
compare((1+1.0*I), (1+1L*I));
compare(0, atan2(0, 0));
compare(0, atan2(0, 1));
compare(3.1415926535897932385, atan2(0, -2));
compare(3.1415926535897932385L, atan2(0, -2.0L));
compare(1.5707963267948966193, atan2(1/2, 0));
compare(-1.5707963267948966193, atan2(-0.5, 0));
compare(-1.5707963267948966193, atan2(-0.5L, 0));
compare(0.5880026035475675, atan2(2, 3));
compare(0.5880026035475675L, atan2(2.0L, 3));
compare(-0.5880026035475675, atan2(-2, 3));
compare(-0.5880026035475675L, atan2(-2.0L, 3));
compare(2.4980915447965089, atan2(3, -4));
compare(2.4980915447965089L, atan2(3, -4.0L));
compare(-2.4980915447965089, atan2(-3, -4));
compare(-2.4980915447965089L, atan2(-3, -4.0L));
compare(0.90788749496088039+0.70830333601405404*I, atan2(1+2*I, 2));
compare(0.90788749496088039+0.70830333601405404L*I, atan2(1+2*I, 2.0L));
compare(0.90788749496088039+0.70830333601405404L*I, atan2(1+2L*I, 2));
compare(-0.90788749496088039-0.70830333601405404*I, atan2(1+2*I, -2));
compare(-0.90788749496088039-0.70830333601405404L*I, atan2(1+2*I, -2.0L));
compare(-0.90788749496088039-0.70830333601405404L*I, atan2(1+2L*I, -2));
compare(-0.72322066612406766+0.23887786125685909*I, atan2(-4+2*I, 5));
compare(-0.72322066612406766+0.23887786125685909L*I, atan2(-4+2*I, 5.0L));
compare(-0.72322066612406766+0.23887786125685909L*I, atan2(-4+2L*I, 5));
compare(0.72322066612406766-0.23887786125685909*I, atan2(4-2*I, 5));
compare(0.72322066612406766-0.23887786125685909L*I, atan2(4-2*I, 5.0L));
compare(0.72322066612406766-0.23887786125685909L*I, atan2(4-2L*I, 5));
compare(0.62452288619912721l+0.026340128914456598*I, atan2(2+3*I, 3+4*I));
compare(0.62452288619912721l+0.026340128914456598L*I, atan2(2+3*I, 3+4.0L*I));
compare(0.62452288619912721l+0.026340128914456598L*I, atan2(2+3L*I, 3+4.0*I));
compare(0, pow(0, 1));
compare(1, pow(-5/3, 0));
compare(1, pow(10.0, 0));
compare(1, pow(10.0L, 0));
compare(1, pow(-10.0, 0));
compare(1, pow(-10.0L, 0));
compare(0.5, pow(2, -1.0));
compare(0.5L, pow(2, -1.0L));
compare(0.7071067811865475244, pow(2, -0.5));
compare(0.7071067811865475244L, pow(2, -0.5L));
compare(1.4142135623730950488, pow(2, 0.5));
compare(1.4142135623730950488L, pow(2, 0.5L));
compare(1.4142135623730950488, pow(1/2, -0.5));
compare(1.4142135623730950488L, pow(1/2, -0.5L));
compare(0.7071067811865475244, pow(1/2, 0.5));
compare(0.7071067811865475244L, pow(1/2, 0.5L));
compare(1, pow(1+1*I, 0));
compare(-2+2*I, pow(1+1*I, 3));
compare(-1/4-1/4*I, pow(1+1*I, -3));
compare(-128.0-128.0*I, pow(2.0+2.0*I, 5));
compare(-128.0L-128.0*I, pow(2.0L+2.0*I, 5));
compare(0.00390625+0.00390625*I, pow(-2.0+2.0*I, -5));
compare(0.00390625L+0.00390625*I, pow(-2.0+2.0*I, -5L));
compare(0.12900959407446689408+0.0339240929051701267*I, pow(1.0+2*I, 3.0+4*I));
compare(0.12900959407446689408+0.0339240929051701267L*I, pow(1.0+2*I, 3.0+4L*I));
compare(0, hypot(0, 0));
compare(1, hypot(0, -1));
compare(5, hypot(3, 4));
compare(3.2015621187164243, hypot(2, 5/2));
compare(2.9154759474226504, hypot(1.5, -2.5));
compare(2.9154759474226504L, hypot(1.5L, -2.5));
compare(2.2360679774997898, hypot(2*I, -1));
compare(3.6827299656640586, hypot(3+2*I, 0.75));
compare(3.6827299656640586L, hypot(3+2*I, 0.75L));
compare(2.1213203435596424, hypot(0.5, 0.5+2*I));
compare(2.1213203435596424L, hypot(0.5L, 0.5+2*I));
compare(6.4274800660912206, hypot(0.25-5*I, 0.5+4.0*I));
compare(6.4274800660912206L, hypot(0.25-5*I, 0.5L+4.0*I));
compare(3, num(3/2));
compare(3, num(3));
compare(0, num(0));
compare(-5, num(-5/3));
compare(0x8000000000000000, num(0x8000000000000000));
compare(2, den(3/2));
compare(1, den(3));
compare(1, den(0));
compare(3, den(-5/3));
compare(1, den(0x8000000000000000));
compare(3/2, real(3/2));
compare(3, real(3));
compare(0, real(0));
compare(-5/3, real(-5/3));
compare(0x8000000000000000, real(0x8000000000000000));
compare(0.5, real(0.5));
compare(1e6L, real(1e6L));
compare(2, real(2+1/2*I));
compare(5.0, real(5.0-1.5*I));
compare(-2.0L, real(-2.0L+3.5L*I));
compare(0, imag(3/2));
compare(0, imag(3));
compare(0, imag(0));
compare(0, imag(-5/3));
compare(0, imag(0x8000000000000000));
compare(0, imag(0.5));
compare(0, imag(1e6L));
compare(1/2, imag(2+1/2*I));
compare(-1.5, imag(5.0-1.5*I));
compare(3.5L, imag(-2.0L+3.5L*I));
compare(0, arg(3/2));
compare(0, arg(3));
compare(0, arg(0));
compare(3.1415926535897932385, arg(-5/3));
compare(0, arg(0x8000000000000000));
compare(0, arg(0.5));
compare(0, arg(1e6L));
compare(0.24497866312686415421, arg(2+1/2*I));
compare(-0.291456794477867092, arg(5.0-1.5*I));
compare(2.089942441041419571L, arg(-2.0L+3.5L*I));
compare(3/2, conj(3/2));
compare(3, conj(3));
compare(0, conj(0));
compare(-5/3, conj(-5/3));
compare(0x8000000000000000, conj(0x8000000000000000));
compare(0.5, conj(0.5));
compare(1e6L, conj(1e6L));
compare(2-1/2*I, conj(2+1/2*I));
compare(5.0+1.5*I, conj(5.0-1.5*I));
compare(-2.0L-3.5L*I, conj(-2.0L+3.5L*I));
compare(1, abs(1));
compare(5/7, abs(-5/7));
compare(2147483648/2147483647, abs(-2147483648/2147483647));
compare(3.12, abs(-3.12));
compare(4312412341234124124123412, abs(4312412341234124124123412));
compare(4312412341234124124123412, abs(-4312412341234124124123412));
compare(1, abs(1*I));
compare(11.40175425099138, abs(-11+3*I));
compare(4.47213595499958, abs(-4-2*I));
compare(1.0, abs(-1.0*I));
compare(5/3, abs(1+4/3*I));
compare(sqrt(81), 9);
compare(1.4142135623730950488, sqrt(2));
compare(2.5, sqrt(6.25));
compare(1.2247448713915890491, sqrt(3/2));
compare(sqrt(85070591730234615865843651857942052864), 9223372036854775808);
compare(1.4142135623730950488, sqrt(2L));
compare(sqrt(-81), 9*I);
compare(1.4142135623730950488*I, sqrt(-2));
compare(2.5*I, sqrt(-6.25));
compare(1.2247448713915890491*I, sqrt(-3/2));
compare(sqrt(-85070591730234615865843651857942052864), 9223372036854775808*I);
compare(1.4142135623730950488*I, sqrt(-2L));
compare(2+2*I, sqrt(8*I));
compare(sqrt(3/2+4/3*I), 1.3241851135318498047+0.5034542828294918346*I);
compare(2.2894284851066637, cbrt(12));
compare(-3, cbrt(-27));
compare(3457762046980.6543, cbrt(41341412341234123412490123470912347210));
compare(1290.1591550923497, cbrt(2147483648));
compare(0.7937005259840998, cbrt(0.5));
compare(0, cbrt(0));
compare(23.111973078845747, cbrt(12345.5678));
compare(-3, cbrt(-27));
compare(3/2, cbrt(27/8));
compare(-1.1186889420813968, cbrt(-7/5));
compare(64.2292615325821, cbrt(821974900428408092/3102128401119));
compare(1.0911236359717214+0.6299605249474366*I, cbrt(2*I));
compare(1.0911236359717214+0.6299605249474366*I, cbrt(2.0*I));
compare(1.0911236359717214+0.6299605249474366*I, cbrt(2.0L*I));
compare(0.9131036110981211+0.43203653882386883*I, cbrt(1/4+1*I));
compare(0.9131036110981211+0.43203653882386883*I, cbrt(0.25+1.0*I));
compare(0.9131036110981211+0.43203653882386883*I, cbrt(0.25L+1L*I));
compare(0.84147098480789650666, sin(1));
compare(-0.47942553860420300028, sin(-0.5));
compare(0.68163876002333416676, sin(3/4));
compare(0.598472144103956494, sin(2.5L));
compare(1.2984575814159772948+0.6349639147847361083*I, sin(1.0+1.0*I));
compare(2.7348148744455933+0.18057843940985768*I, sin(3/2+5/3*I));
compare(9.154499146911429574+4.168906959966564351*I, sin(2L-3L*I));
compare(0.5403023058681397174, cos(1));
compare(0.87758256189037271613, cos(-0.5));
compare(0.7316888688738208863, cos(3/4));
compare(-0.8011436155469337148, cos(2.5L));
compare(0.83373002513114913-0.98889770576286506*I, cos(1.0+1.0*I));
compare(0.19393897101788726-2.5464124075233068*I, cos(3/2+5/3*I));
compare(-4.18962569096880723+9.109227893755336598*I, cos(2L-3L*I));
compare(1.5574077246549022305, tan(1));
compare(-0.54630248984379051327, tan(-0.5));
compare(0.93159645994407246116, tan(3/4));
compare(-0.74702229723866027936, tan(2.5L));
compare(0.27175258531951171652+1.0839233273386945435*I, tan(1.0+1.0*I));
compare(0.010819052404524219+1.0731634162954649*I, tan(3/2+5/3*I));
compare(-0.0037640256415042482928-1.0032386273536098015*I, tan(2L-3L*I));
compare(1.5707963267948966193, asin(1));
compare(-0.52359877559829887307, asin(-0.5));
compare(0.848062078981481008, asin(3/4));
compare(1.5707963267948966+1.5667992369724109*I, asin(2.5L));
compare(0.66623943249251527+1.0612750619050355*I, asin(1.0+1.0*I));
compare(0.68450227963143007+1.5093114553823661*I, asin(3/2+5/3*I));
compare(0.57065278432109940065-1.983387029916535432*I, asin(2L-3L*I));
compare(0, acos(1));
compare(2.0943951023931954923, acos(-0.5));
compare(0.72273424781341561124, acos(3/4));
compare(-1.5667992369724106L*I, acos(2.5L));
compare(0.90455689430238129-1.0612750619050355*I, acos(1.0+1.0*I));
compare(0.88629404716346649-1.5093114553823661*I, acos(3/2+5/3*I));
compare(1.0001435424737977+1.9833870299165355*I, acos(2L-3L*I));
compare(0.7853981633974483095, atan(1));
compare(-0.46364760900080611615, atan(-0.5));
compare(0.64350110879328438685, atan(3/4));
compare(1.1902899496825317329, atan(2.5L));
compare(1.0172219678978513677+0.40235947810852509365*I, atan(1.0+1.0*I));
compare(1.2507050583424317136+0.3113429879622447256*I, atan(3/2+5/3*I));
compare(1.4099210495965755225-0.2290726829685387663*I, atan(2L-3L*I));
compare(1.1752011936438014569, sinh(1));
compare(-0.52109530549374736164, sinh(-0.5));
compare(0.8223167319358299807, sinh(3/4));
compare(6.0502044810397873215, sinh(2.5L));
compare(0.6349639147847361083+1.2984575814159772948*I, sinh(1.0+1.0*I));
compare(-0.20382218415579192+2.3416072509048957*I, sinh(3/2+5/3*I));
compare(-3.5905645899857794-0.53092108624851975*I, sinh(2L-3L*I));
compare(1.5430806348152437784, cosh(1));
compare(1.1276259652063807853, cosh(-0.5));
compare(1.2946832846768446878, cosh(3/4));
compare(6.1322894796636861167, cosh(2.5L));
compare(0.83373002513114913+0.98889770576286506*I, cosh(1.0+1.0*I));
compare(-0.22518099475421544+2.1195017138787229*I, cosh(3/2+5/3*I));
compare(-3.7245455049153224-0.51182256998738451*I, cosh(2L-3L*I));
compare(0.7615941559557648881, tanh(1));
compare(-0.46211715726000975851, tanh(-0.5));
compare(0.6351489523872873192, tanh(3/4));
compare(0.9866142981514302889, tanh(2.5L));
compare(1.0839233273386946+0.27175258531951169*I, tanh(1.0+1.0*I));
compare(1.1025630825463828-0.020973829490293267*I, tanh(3/2+5/3*I));
compare(0.9653858790221331243+0.00988437503832249372*I, tanh(2L-3L*I));
compare(2.7182818284590452354, exp(1));
compare(0.03019738342231850074, exp(-3.5));
compare(2.1170000166126746685, exp(3/4));
compare(-1.1312043837568135+2.4717266720048188*I, exp(1+2.0*I));
compare(1.5974665191199127-0.40790017007835977*I, exp(1/2-1/4*I));
compare(-1.1312043837568136384-2.4717266720048189277*I, exp(1-2L*I));
compare(0, log(1));
compare(1.2527629684953679957+3.1415926535897932385*I, log(-3.5));
compare(-0.28768207245178092744, log(3/4));
compare(1.4166066720281080401+1.325817663668032465*I, log(1+4.0*I));
compare(-0.1038196823891223-0.5880026035475675*I, log(3/4-1/2*I));
compare(0.80471895621705025-1.1071487177940904*I, log(1-2L*I));
compare(0, log2(1));
compare(1.8073549220576042+4.5323601418271942*I, log2(-3.5));
compare(-0.41503749927884381, log2(3/4));
compare(2.04373142062517+1.9127505684968622*I, log2(1+4.0*I));
compare(-0.14978014092945399-0.84830844016787488*I, log2(3/4-1/2*I));
compare(1.1609640474436813-1.5972779646881086*I, log2(1-2L*I));
compare(0, log10(1));
compare(0.54406804435027567+1.3643763538418412*I, log10(-3.5));
compare(-0.12493873660829995, log10(3/4));
compare(0.61522446068913694+0.57579529534088791*I, log10(1+4.0*I));
compare(-0.045088315174544029-0.25536628606545403*I, log10(3/4-1/2*I));
compare(0.34948500216800943-0.48082857878423396*I, log10(1-2L*I));

/* check mp objects are treated by value (besides using references)
 * and that either global or local variables arent't changed
 * this check is done to check if the "accumulator" mp objects
 * are being properly used. */
auto za, zb, zc, zd;
za = 0x80000000000000000000000000000000;
zb = 0x800000000000000000;
zc = za - zb;
zd = zb - za;
if (za != 0x80000000000000000000000000000000)
    print("error %d\n", __LINE__);
if (zb != 0x800000000000000000)
    print("error %d\n", __LINE__);
void tz(x, y)
{
    auto c = x - y, d = y - x;
    if (x != za)
	print("error %d\n", __LINE__);
    if (y != zb)
	print("error %d\n", __LINE__);
    x += 1;
    if (x != 0x80000000000000000000000000000001 || za != 0x80000000000000000000000000000000)
	print("error %d\n", __LINE__);
    y += za;
    if (y != 0x80000000000000800000000000000000 || zb != 0x800000000000000000)
	print("error %d\n", __LINE__);
}
tz(za, zb);

auto qa, qb, qc, qd;
qa = 2/3, qb = 7/5;
qc = qa - qb, qd = qb - qa;
if (qa != 2/3 || qb != 7/5)		print("error %d\n", __LINE__);
void tq(x, y)
{
    auto c = x - y, d = y - x;
    if (x != qa)			print("error %d\n", __LINE__);
    if (y != qb)			print("error %d\n", __LINE__);
    x += 1;
    if (x != 5/3 || qa != 2/3)		print("error %d\n", __LINE__);
    y += qa;
    if (y != 31/15 || qb != 7/5)	print("error %d\n", __LINE__);
}
tq(qa, qb);

auto ra = 0.5L, rb = 1.5L, rc = ra - rb, rd = rb - ra;
if (ra != 0.5L || rb != 1.5L)		print("error %d\n", __LINE__);
void tr(x, y)
{
    auto c = x - y, d = y - x;
    if (x != ra)			print("error %d\n", __LINE__);
    if (y != rb)			print("error %d\n", __LINE__);
    x += 1;
    if (x != 1.5L || ra != 0.5L)	print("error %d\n", __LINE__);
    y += ra;
    if (y != 2.0L || rb != 1.5L)	print("error %d\n", __LINE__);
}
tr(ra, rb);

struct types {
    int8_t	i8;
    uint8_t	u8;
    int16_t	i16;
    uint16_t	u16;
    int32_t	i32;
    uint32_t	u32;
    int64_t	i64;
    uint64_t	u64;
    float32_t	f32;
    float64_t	f64;
    auto	any;
};
types ta;
ta = {
    i8:	17/5,
    u8:	-4.5L,
    u32:	0b1111111111111111111111111111111111111111111111111111010101010101,
    any:	0x800000000000000000000000000000000,
    u64:	-1
};
if (ta.i8 != 3 || ta.u8 != 252 || ta.u32 != 4294964565 ||
    ta.any != 0x800000000000000000000000000000000 ||
    ta.u64 != 0xffffffffffffffff)
    print("error %d\n", __LINE__);

float32_t tf32[] = { 3/2, -1, 0x8000000000000000, 1e6 };
if (tf32[0] != 1.5 || tf32[1] != -1.0 ||
    tf32[2] != 9223372036854775808.0 || tf32[3] != 1000000.0)
    print("error %d\n", __LINE__);
tf32[0] += 0.5L;
tf32[1] += 0x7f;
tf32[2] -= 0x8000000000000000;
tf32[3] /= 1/2;
if (tf32[0] != 2.0 || tf32[1] != 126.0 ||
    tf32[2] != 0.0 || tf32[3] != 2000000.0)
    print("error %d\n", __LINE__);

za = 0x80000000000000000000000000000000;
auto tzzz(z)
{
    auto zz = z++;
    if (z - 1 != zz)			print("error %d\n", __LINE__);
    return zz;
}
auto tzz(z)
{
    auto zz = z++, zzz;
    if (z - 1 != zz)			print("error %d\n", __LINE__);
    zzz = tzzz(z);
    if (z - 1 != zz || zzz != z)	print("error %d\n", __LINE__);
    return zzz - 1;
}
zb = tzz(za);
if (za != 0x80000000000000000000000000000000 || zb != za)
    print("error %d\n", __LINE__);

za = 0x7ffffffffffffffffffffffffffffffffff;
auto tgz(z)
{
    auto zz = z + 1;
    za -= 1;
    if (za != zz - 2)			print("error %d\n", __LINE__);
    return za + 1;
}
zb = tgz(za);
if (zb != za + 1)
    print("error %d\n", __LINE__);

/* check pointer objects */
za = 0x80000000000000000000000000000000;
pointer_t pza = &za;
auto ptz(*pz)
{
    auto z = *pz, zz;
    zz = z;
    if (*pz != z)			print("error %d\n", __LINE__);
    ++*pz;
    if (z == *pz)			print("error %d\n", __LINE__);
    if (zz != z)			print("error %d\n", __LINE__);
    return ++z;
}
--*pza;
if (*pza != za)				print("error %d\n", __LINE__);
zb = ptz(&za);
if (za != zb)				print("error %d\n", __LINE__);
if (*pza != za)				print("error %d\n", __LINE__);
//--
auto pptz(*pz)
{
    auto z = *pz, zz;
    zz = z;
    if (*pz != z)			print("error %d\n", __LINE__);
    *pz++;
    if (z == *pz)			print("error %d\n", __LINE__);
    if (zz != z)			print("error %d\n", __LINE__);
    return ++z;
}
*pza--;
if (*pza != za)				print("error %d\n", __LINE__);
zb = pptz(&za);
if (za != zb)				print("error %d\n", __LINE__);
if (*pza != za)				print("error %d\n", __LINE__);
//--
auto ppptz(*pz)
{
    auto z = *pz, zz;
    zz = z;
    if (*pz != z)			print("error %d\n", __LINE__);
    *pz += 1;
    if (z == *pz)			print("error %d\n", __LINE__);
    if (zz != z)			print("error %d\n", __LINE__);
    return ++z;
}
*pza -= 1;
if (*pza != za)				print("error %d\n", __LINE__);
zb = ppptz(&za);
if (za != zb)				print("error %d\n", __LINE__);
if (*pza != za)				print("error %d\n", __LINE__);
//--
auto pppptz(*pz)
{
    auto z = *pz, zz;
    zz = z;
    if (*pz != z)			print("error %d\n", __LINE__);
    *pz = *pz + 1;
    if (z == *pz)			print("error %d\n", __LINE__);
    if (zz != z)			print("error %d\n", __LINE__);
    return ++z;
}
*pza = *pza - 1;
if (*pza != za)				print("error %d\n", __LINE__);
zb = pppptz(&za);
if (za != zb)				print("error %d\n", __LINE__);
if (*pza != za)				print("error %d\n", __LINE__);

/* check integer to mpz conversion */
za = -0x7fffffffffffffff;
zb = za - 1;
if (zb != -0x8000000000000000)		print("error %d\n", __LINE__);
zb = za + -1;
if (zb != -0x8000000000000000)		print("error %d\n", __LINE__);
zb = -zb;
if (zb != 0x8000000000000000)		print("error %d\n", __LINE__);
zb = -(za - 1);
if (zb != 0x8000000000000000)		print("error %d\n", __LINE__);
za = -0x4000000000000000;
zb = za << 1;
if (zb != -0x8000000000000000)		print("error %d\n", __LINE__);
zb = za * 2;
if (zb != -0x8000000000000000)		print("error %d\n", __LINE__);
zb /= 2; zb *= 2;
if (zb != -0x8000000000000000)		print("error %d\n", __LINE__);
zb >>= 32; zb <<= 32;
if (zb != -0x8000000000000000)		print("error %d\n", __LINE__);

/* shift check on constants and runtime values */
za = 32 >>> 64, zb = 32 << -128;
if (za != 0 || zb >= 1)			print("error %d\n", __LINE__);
za = 32, zb = 64; za >>>= zb;
if (za != 0)				print("error %d\n", __LINE__);
za = 32, zb = -72; za <<= zb;
if (za >= 1)				print("error %d\n", __LINE__);

/* check eop_inv */
void g() { zb = 1; }
g();
za = 3;
zb = 1 / za;
if (zb != 1/3)				print("error %d\n", __LINE__);
g();
za = 0.5;
zb = 1 / za;
if (zb != 2.0)				print("error %d\n",  __LINE__);
g();
za = 0x8000000000000000;
zb = 1 / za;
if (zb != 1/0x8000000000000000)		print("error %d\n",  __LINE__);
g();
za = 3/5;
zb = 1 / za;
if (zb != 5/3)  			print("error %d\n", __LINE__);
g();
za = 0.25L;
zb = 1 / za;
if (zb != 4.0L)				print("error %d\n", __LINE__);
/* force runtime evaluation */
void gg(v) { za = v; }
gg(3);
zb = 1 / za;
if (zb != 1/3)				print("error %d\n", __LINE__);
gg(0.5);
zb = 1 / za;
if (zb != 2.0)				print("error %d\n", __LINE__);
gg(0x8000000000000000);
zb = 1 / za;
if (zb != 1/0x8000000000000000)		print("error %d\n", __LINE__);
gg(3/5);
zb = 1 / za;
if (zb != 5/3)				print("error %d\n", __LINE__);
gg(0.25L);
zb = 1 / za;
if (zb != 4.0L)				print("error %d\n", __LINE__);

struct math_types {
    float64_t	d;
    auto	v;
} cs = { 1+2.0*I, 2+1.0*I };
if (cs.d != 1 || cs.v != 2+1.0*I)	print("error %d\n", __LINE__);
cs = { 1+2L*I, 2+1L*I };
if (cs.d != 1 || cs.v != 2+1L*I)	print("error %d\n", __LINE__);
cs = { 2+1*I, 1+2*I };
if (cs.d != 2 || cs.v != 1+2*I)		print("error %d\n", __LINE__);

auto cv[2] = { 1+2.0*I, 2+1.0*I };
if (cv[0] != 1+2.0*I || cv[1] != 2+1.0*I)
    print("error %d\n", __LINE__);
cv = { 1+2L*I, 2+1L*I };
if (cv[0] != 1+2L*I || cv[1] != 2+1L*I)	print("error %d\n", __LINE__);
cv = { 2+1*I, 1+2*I };
if (cv[0] != 2+1*I || cv[1] != 1+2*I)	print("error %d\n", __LINE__);

int32_t ci[2] = { 1+2.0*I, 2+1.0*I };
if (ci[0] != 1 || ci[1] != 2)		print("error %d\n", __LINE__);
ci = { 1+2L*I, 2+1L*I };
if (ci[0] != 1 || ci[1] != 2)		print("error %d\n", __LINE__);
ci = { 2+1*I, 1+2*I };
if (ci[0] != 2 || ci[1] != 1)		print("error %d\n", __LINE__);

/* check wrapping of mpz_t <-> int64 */
// currently, not inlined/optimized
auto mone() { return 1; }
auto mtwo() { return 2; }
auto mhalf() { return -0x4000000000000000; }
auto madd() { return mhalf() + mhalf(); }		// type is int64
auto msub() { return mhalf() - -mhalf(); }		// type is int64
auto mmul() { return mhalf() * mtwo(); }		// type is mpz_t
auto mdiv() { return (mhalf() + mhalf()) / mone(); }	// type is int64
							// literal type is mpz_t
if (madd() != -0x8000000000000000)	print("error %d\n", __LINE__);
if (msub() != -0x8000000000000000)	print("error %d\n", __LINE__);
if (mmul() != -0x8000000000000000)	print("error %d\n", __LINE__);
if (mdiv() != -0x8000000000000000)	print("error %d\n", __LINE__);
if (madd() + 1 != -0x7fffffffffffffff)	print("error %d\n", __LINE__);
if (msub() - 1 != -0x8000000000000001)	print("error %d\n", __LINE__);
if (-mmul() != 0x8000000000000000)	print("error %d\n", __LINE__);
/* this was a regression (correct math but wrong comparison) */
if (!(-mdiv() - 1 > 1))			print("error %d\n", __LINE__);
if (!(madd() + 1 < 1))			print("error %d\n", __LINE__);
/* ensure code doesn't assume MININT cannot be generated; if it really
 * is not generated later, this test will become a noop */
if (msub() < -0x8000000000000000)	print("error %d\n", __LINE__);
if (mdiv() > -0x8000000000000000)	print("error %d\n", __LINE__);
void test_uint() {
    uint64_t a;
    for (a = 0x7ffffffffffffff0; a < 0x7ffffffffffffff0+32; ++a)
	;
    if (a != 0x7ffffffffffffff0+32)
	print("error %d\n", __LINE__);
}
test_uint();

/* vector tests */
auto vector_check(a, b) {
    // both complex or not complex?
    if (complex_p(a) ^ complex_p(b))
	return false;
    // both complex
    else if (complex_p(b)) {
	if (vector_check(real(a), real(b)))
	    return vector_check(imag(a), imag(b));
	return false;
    }
    // both not complex

    // both nan or not nan?
    if (nan_p(a) ^ nan_p(b))
	return false;
    // both nan
    else if (nan_p(b))
	return true;
    // both not nan

    // both inf or not inf?
    if (!!inf_p(a) ^ !!inf_p(b))
	return false;

    // both real or not real?
    if ((!real_p(a) ^ !real_p(b)))
	return false;

    // both real and different signs?
    else if (real_p(a) && (a || b) && signbit(a) != signbit(b))
	return false;

#if 0
    /* FIXME need to scale comparison */
    if (a != b && abs(a - b) > 0.0000000001)
	return false;
    return true;
#else
    /* for now, assume results should be identical */
    return a == b;
#endif
}
auto overflow_check(a, b, t) {
    switch (t) {
	case int8_t[]:
	    return trunc(a) & 0xff == trunc(b) & 0xff;
	case int16_t[]:
	    return trunc(a) & 0xffff == trunc(b) & 0xffff;
	case int32_t[]:
	    return trunc(a) & 0xffffffff == trunc(b) & 0xffffffff;
	case int64_t[]:
	    return trunc(a) & 0xffffffffffffffff == trunc(b) & 0xffffffffffffffff;
	default:
	    return false;
    }
}
float32_t	fdata[2] = {};
auto float_check_unary(op, a, b, t) {
    if (t != typeof(float32_t[]))
	return false;
    fdata[0] = b;
    switch (op) {
	case 'sqrt':
	    fdata[0] = sqrt(fdata[0]);
	    break;
	case 'cbrt':
	    fdata[0] = cbrt(fdata[0]);
	    break;
	case 'sin':
	    fdata[0] = sin(fdata[0]);
	    break;
	case 'cos':
	    fdata[0] = cos(fdata[0]);
	    break;
	case 'tan':
	    fdata[0] = tan(fdata[0]);
	    break;
	case 'asin':
	    fdata[0] = asin(fdata[0]);
	    break;
	case 'acos':
	    fdata[0] = acos(fdata[0]);
	    break;
	case 'atan':
	    fdata[0] = atan(fdata[0]);
	    break;
	case 'sinh':
	    fdata[0] = sinh(fdata[0]);
	    break;
	case 'cosh':
	    fdata[0] = cosh(fdata[0]);
	    break;
	case 'tanh':
	    fdata[0] = tanh(fdata[0]);
	    break;
	case 'asinh':
	    fdata[0] = asinh(fdata[0]);
	    break;
	case 'acosh':
	    fdata[0] = acosh(fdata[0]);
	    break;
	case 'atanh':
	    fdata[0] = atanh(fdata[0]);
	    break;
	case 'exp':
	    fdata[0] = exp(fdata[0]);
	    break;
	case 'log':
	    fdata[0] = log(fdata[0]);
	    break;
	case 'log2':
	    fdata[0] = log2(fdata[0]);
	    break;
	case 'log10':
	    fdata[0] = log10(fdata[0]);
	    break;
	default:
	    return false;
    }
    return a == fdata[0];
}
auto float_check_binary(op, a, b, c, t) {
    if (t != typeof(float32_t[]))
	return false;
    fdata[0] = b, fdata[1] = c;
    switch (op) {
	case 'atan2':
	    fdata[0] = atan2(fdata[0], fdata[1]);
	    break;
	case 'pow':
	    fdata[0] = pow(fdata[0], fdata[1]);
	    break;
	case 'hypot':
	    fdata[0] = hypot(fdata[0], fdata[1]);
	    break;
	default:
	    return false;
    }
    return a == fdata[0];
}
auto unary_eval(op, value) {
    switch (op) {
	case '~':	value = ~value;		break;
	case '-':	value = -value;		break;
	case 'signbit':	value = signbit(value);	break;
	case 'signum':	value = signum(value);	break;
	case 'ratio':	value = rational(value);break;
	case 'num':	value = num(value);	break;
	case 'den':	value = den(value);	break;
	case 'real':	value = real(value);	break;
	case 'imag':	value = imag(value);	break;
	case 'arg':	value = arg(value);	break;
	case 'conj':	value = conj(value);	break;
	case 'abs':	value = abs(value);	break;
	case 'sqrt':	value = sqrt(value);	break;
	case 'cbrt':	value = cbrt(value);	break;
	case 'sin':	value = sin(value);	break;
	case 'cos':	value = cos(value);	break;
	case 'tan':	value = tan(value);	break;
	case 'asin':	value = asin(value);	break;
	case 'acos':	value = acos(value);	break;
	case 'atan':	value = atan(value);	break;
	case 'sinh':	value = sinh(value);	break;
	case 'cosh':	value = cosh(value);	break;
	case 'tanh':	value = tanh(value);	break;
	case 'asinh':	value = asinh(value);	break;
	case 'acosh':	value = acosh(value);	break;
	case 'atanh':	value = atanh(value);	break;
	case 'proj':	value = proj(value);	break;
	case 'exp':	value = exp(value);	break;
	case 'log':	value = log(value);	break;
	case 'log2':	value = log2(value);	break;
	case 'log10':	value = log10(value);	break;
	default:	throw -1;		break;
    }
    return value;
}
void unary_vector(op, ...) {
    ++count;
    auto v[1][1], l[1][1];
    auto i, j, is, js, a, b, c = sizeof(...) - 2, d;
    for (a = -1; a < c;) {
	++count;
	l = ...[++a];
	d = ...[++a];
	is = sizeof(l, 0);
	js = sizeof(l, 1);
	try {
	    switch (op) {
		case '~':	v = ~l;		break;
		case '-':	v = -l;		break;
		case 'signbit':	v = signbit(l);	break;
		case 'signum':	v = signum(l);	break;
		case 'ratio':	v = rational(l);break;
		case 'num':	v = num(l);	break;
		case 'den':	v = den(l);	break;
		case 'real':	v = real(l);	break;
		case 'imag':	v = imag(l);	break;
		case 'arg':	v = arg(l);	break;
		case 'conj':	v = conj(l);	break;
		case 'abs':	v = abs(l);	break;
		case 'sqrt':	v = sqrt(l);	break;
		case 'cbrt':	v = cbrt(l);	break;
		case 'sin':	v = sin(l);	break;
		case 'cos':	v = cos(l);	break;
		case 'tan':	v = tan(l);	break;
		case 'asin':	v = asin(l);	break;
		case 'acos':	v = acos(l);	break;
		case 'atan':	v = atan(l);	break;
		case 'sinh':	v = sinh(l);	break;
		case 'cosh':	v = cosh(l);	break;
		case 'tanh':	v = tanh(l);	break;
		case 'asinh':	v = asinh(l);	break;
		case 'acosh':	v = acosh(l);	break;
		case 'atanh':	v = atanh(l);	break;
		case 'proj':	v = proj(l);	break;
		case 'exp':	v = exp(l);	break;
		case 'log':	v = log(l);	break;
		case 'log2':	v = log2(l);	break;
		case 'log10':	v = log10(l);	break;
		default:	print("%d: ERROR: unexpected op '%c'\n",
				      count, op);
		    throw -1;
	    }
	    if (d == N) {
		for (i = 0; i < is; i++)
		    for (j = 0; j < js; j++)
			if (!vector_check(v[i][j],
					  b = unary_eval(op, l[i][j])) &&
			    !float_check_unary(op, v[i][j], l[i][j],
					       typeof(v)))
			    print("%d: [%d,%d] = %#s but (%c %#s = %#s)\n",
				  count, i, j, v[i][j], op, l[i][j], b);
	    }
	    else
		print("%d: expected '%s' but got 'nothing'\n", count, d);
	}
	catch (ex) {
	    if (ex < 0 || ex >= sizeof(names))
		print("%d: got exception %d\n", count, ex);
	    else if (d != names[ex])
		print("%d: got exception '%s'\n", count, names[ex]);
	}
    }
}
auto binary_eval(op, l, r) {
    switch (op) {
	case '&':	l = l & r;		break;
	case '|':	l = l | r;		break;
	case '^':	l = l ^ r;		break;
	case '+':	l = l + r;		break;
	case '-':	l = l - r;		break;
	case '*':	l = l * r;		break;
	case '/':	l = l / r;		break;
	case '\\':	l = l \ r;		break;
	case '%':	l = l % r;		break;
	case '<<':	l = l << r;		break;
	case '>>':	l = l >> r;		break;
	case '<<<':	l = l <<< r;		break;
	case '>>>':	l = l >>> r;		break;
	case 'atan2':	l = atan2(l, r);	break;
	case 'pow':	l = pow(l, r);		break;
	case 'hypot':	l = hypot(l, r);	break;
	default:	throw -1;		break;
    }
    return l;
}
void binary_vector_vector(op, l[1][1], ...) {
    ++count;
    auto v[1][1], r[1][1];
    auto i, j, is, js, a, b, c = sizeof(...) - 2, d;
    for (a = -1; a < c;) {
	++count;
	r = ...[++a];
	d = ...[++a];
	is = sizeof(l, 0);
	js = sizeof(l, 1);
	try {
	    switch (op) {
		case '&':	v = l & r;		break;
		case '|':	v = l | r;		break;
		case '^':	v = l ^ r;		break;
		case '+':	v = l + r;		break;
		case '-':	v = l - r;		break;
		case '*':	v = l * r;		break;
		case '/':	v = l / r;		break;
		case '\\':	v = l \ r;		break;
		case '%':	v = l % r;		break;
		case '<<':	v = l << r;		break;
		case '>>':	v = l >> r;		break;
		case '<<<':	v = l <<< r;		break;
		case '>>>':	v = l >>> r;		break;
		case 'atan2':	v = atan2(l, r);	break;
		case 'pow':	v = pow(l, r);		break;
		case 'hypot':	v = hypot(l, r);	break;
		default:	print("%d: ERROR: unexpected op '%c'\n",
				      count, op);
		    throw -1;
	    }
	    if (d == N) {
		for (i = 0; i < is; i++)
		    for (j = 0; j < js; j++)
			if (!vector_check(v[i][j],
					  b = binary_eval(op, l[i][j],
							  r[i][j])) &&
			    !overflow_check(v[i][j], b, typeof(v)) &&
			    !float_check_binary(op, v[i][j], l[i][j], r[i][j],
					 typeof(v)))
			    print("%d: [%d,%d] = %#s but (%c %#s %#s = %#s)\n",
				  count, i, j, v[i][j], op, l[i][j], r[i][j], b);
	    }
	    else
		print("%d: expected '%s' but got 'nothing'\n", count, d);
	}
	catch (ex) {
	    if (ex < 0 || ex >= sizeof(names))
		print("%d: got exception %d\n", count, ex);
	    else if (d != names[ex])
		print("%d: got exception '%s'\n", count, names[ex]);
	}
    }
}
void binary_scalar_vector(op, l, ...) {
    ++count;
    auto v[1][1], r[1][1];
    auto i, j, is, js, a, b, c = sizeof(...) - 2, d;
    for (a = -1; a < c;) {
	++count;
	r = ...[++a];
	d = ...[++a];
	is = sizeof(l, 0);
	js = sizeof(l, 1);
	try {
	    switch (op) {
		case '&':	v = l & r;		break;
		case '|':	v = l | r;		break;
		case '^':	v = l ^ r;		break;
		case '+':	v = l + r;		break;
		case '-':	v = l - r;		break;
		case '*':	v = l * r;		break;
		case '/':	v = l / r;		break;
		case '\\':	v = l \ r;		break;
		case '%':	v = l % r;		break;
		case '<<':	v = l << r;		break;
		case '>>':	v = l >> r;		break;
		case '<<<':	v = l <<< r;		break;
		case '>>>':	v = l >>> r;		break;
		case 'atan2':	v = atan2(l, r);	break;
		case 'pow':	v = pow(l, r);		break;
		case 'hypot':	v = hypot(l, r);	break;
		default:	print("%d: ERROR: unexpected op '%c'\n",
				      count, op);
		    throw -1;
	    }
	    if (d == N) {
		for (i = 0; i < is; i++)
		    for (j = 0; j < js; j++)
			if (!vector_check(v[i][j],
					  b = binary_eval(op, l, r[i][j])) &&
			    !overflow_check(v[i][j], b, typeof(v)) &&
			    !float_check_binary(op, v[i][j], l, r[i][j],
						typeof(v)))
			    print("%d: [%d,%d] = %#s but (%c %#s %#s = %#s)\n",
				  count, i, j, v[i][j], op, l, r[i][j], b);
	    }
	    else
		print("%d: expected '%s' but got 'nothing'\n", count, d);
	}
	catch (ex) {
	    if (ex < 0 || ex >= sizeof(names))
		print("%d: got exception %d\n", count, ex);
	    else if (d != names[ex])
		print("%d: got exception '%s'\n", count, names[ex]);
	}
    }
}
void binary_vector_scalar(op, l[1][1], ...) {
    ++count;
    auto v[1][1], r;
    auto i, j, is, js, a, b, c = sizeof(...) - 2, d;
    for (a = -1; a < c;) {
	++count;
	r = ...[++a];
	d = ...[++a];
	is = sizeof(l, 0);
	js = sizeof(l, 1);
	try {
	    switch (op) {
		case '&':	v = l & r;		break;
		case '|':	v = l | r;		break;
		case '^':	v = l ^ r;		break;
		case '+':	v = l + r;		break;
		case '-':	v = l - r;		break;
		case '*':	v = l * r;		break;
		case '/':	v = l / r;		break;
		case '\\':	v = l \ r;		break;
		case '%':	v = l % r;		break;
		case '<<':	v = l << r;		break;
		case '>>':	v = l >> r;		break;
		case '<<<':	v = l <<< r;		break;
		case '>>>':	v = l >>> r;		break;
		case 'atan2':	v = atan2(l, r);	break;
		case 'pow':	v = pow(l, r);		break;
		case 'hypot':	v = hypot(l, r);	break;
		default:	print("%d: ERROR: unexpected op '%c'\n",
				      count, op);
		    throw -1;
	    }
	    if (d == N) {
		for (i = 0; i < is; i++)
		    for (j = 0; j < js; j++)
			if (!vector_check(v[i][j],
					  b = binary_eval(op, l[i][j], r)) &&
			    !overflow_check(v[i][j], b, typeof(v)) &&
			    !float_check_binary(op, v[i][j], l[i][j], r,
						typeof(v)))
			    print("%d: [%d,%d] = %#s but (%c %#s %#s = %#s)\n",
				  count, i, j, v[i][j], op, l[i][j], r, b);
	    }
	    else
		print("%d: expected '%s' but got 'nothing'\n", count, d);
	}
	catch (ex) {
	    if (ex < 0 || ex >= sizeof(names))
		print("%d: got exception %d\n", count, ex);
	    else if (d != names[ex])
		print("%d: got exception '%s'\n", count, names[ex]);
	}
    }
}

int8_t v_i8[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
 };
uint8_t v_u8[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};
int16_t v_i16[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};
uint16_t v_u16[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};
int32_t v_i32[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};
uint32_t v_u32[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};
int64_t v_i64[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};
uint64_t v_u64[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};
float32_t v_f32[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};
float64_t v_f64[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};
auto v_n[3][3] = {
    { null, null, null },
    { null, null, null },
    { null, null, null }
};
auto v_i[3][3] = {
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 }
};
auto v_d[3][3] = {
    { 1.0, 2.0, 3.0 },
    { 4.0, 5.0, 6.0 },
    { 7.0, 8.0, 9.0 }
};
auto v_z[3][3] = {
    { 0x10000000000000000, 0x20000000000000000, 0x30000000000000000 },
    { 0x40000000000000000, 0x50000000000000000, 0x60000000000000000 },
    { 0x70000000000000000, 0x80000000000000000, 0x90000000000000000 },
};
auto v_q[3][3] = {
    { 1/2, 2/3,  3/4 },
    { 4/5, 5/6,  6/7 },
    { 7/8, 8/9, 9/10 },
};
auto v_r[3][3] = {
    { 1L, 2L, 3L },
    { 4L, 5L, 6L },
    { 7L, 8L, 9L },
};
auto v_dd[3][3] = {
    { 1.*I, 2.*I, 3.*I },
    { 4.*I, 5.*I, 6.*I },
    { 7.*I, 8.*I, 9.*I },
};
auto v_qq[3][3] = {
    { 1/2*I, 2/3*I,  3/4*I },
    { 4/5*I, 5/6*I,  6/7*I },
    { 7/8*I, 8/9*I, 9/10*I },
};
auto v_rr[3][3] = {
    { 1L*I, 2L*I, 3L*I },
    { 4L*I, 5L*I, 6L*I },
    { 7L*I, 8L*I, 9L*I },
};
auto v_o[3][3] = {
    {                null,   1,  2.0 },
    { 0x30000000000000000, 1/4,	  5l },
    {               6.0*I, 7*I, 8L*I }
};

/*
 * FIXME should really widden type used for unsigned values?
 * FIXME and what about uint64_t? converted to dynamic type?
 * FIXME add nan and inf to float tests
 */
count = 0;

unary_vector('~',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				NAI,
	     v_f64,				NAI,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				NAI,
	     v_r,				NAI,
	     v_dd,				NAI,
	     v_qq,				NAI,
	     v_rr,				NAI,
	     v_o,				NAI);
unary_vector('-',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('signbit',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				NARN,
	     v_qq,				NARN,
	     v_rr,				NARN,
	     v_o,				NARN);
unary_vector('signum',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('ratio',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				NARN,
	     v_qq,				NARN,
	     v_rr,				NARN,
	     v_o,				NARN);
unary_vector('num',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				NAQN,
	     v_f64,				NAQN,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				NAQN,
	     v_dd,				NAQN,
	     v_qq,				NAQN,
	     v_rr,				NAQN,
	     v_o,				NAQN);
unary_vector('den',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				NAQN,
	     v_f64,				NAQN,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				NAQN,
	     v_dd,				NAQN,
	     v_qq,				NAQN,
	     v_rr,				NAQN,
	     v_o,				NAQN);
unary_vector('real',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('imag',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('arg',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('conj',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('abs',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('sqrt',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('cbrt',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('sin',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('cos',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('tan',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('asin',
	     v_i8,				FPE,
	     v_u8,				FPE,
	     v_i16,				FPE,
	     v_u16,				FPE,
	     v_i32,				FPE,
	     v_u32,				FPE,
	     v_i64,				FPE,
	     v_u64,				N,	// coerced ...
	     v_f32,				FPE,
	     v_f64,				FPE,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('acos',
	     v_i8,				FPE,
	     v_u8,				FPE,
	     v_i16,				FPE,
	     v_u16,				FPE,
	     v_i32,				FPE,
	     v_u32,				FPE,
	     v_i64,				FPE,
	     v_u64,				N,	// coerced ...
	     v_f32,				FPE,
	     v_f64,				FPE,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('atan',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('sinh',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('cosh',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('tanh',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('asinh',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('acosh',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('atanh',
	     v_i8,				FPE,
	     v_u8,				FPE,
	     v_i16,				FPE,
	     v_u16,				FPE,
	     v_i32,				FPE,
	     v_u32,				FPE,
	     v_i64,				FPE,
	     v_u64,				N,	// coerced...
	     v_f32,				FPE,
	     v_f64,				FPE,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('proj',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('exp',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('log',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('log2',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
unary_vector('log10',
	     v_i8,				N,
	     v_u8,				N,
	     v_i16,				N,
	     v_u16,				N,
	     v_i32,				N,
	     v_u32,				N,
	     v_i64,				N,
	     v_u64,				N,
	     v_f32,				N,
	     v_f64,				N,
	     v_n,				N,
	     v_i,				N,
	     v_z,				N,
	     v_q,				N,
	     v_r,				N,
	     v_dd,				N,
	     v_qq,				N,
	     v_rr,				N,
	     v_o,				N);
binary_scalar_vector('&',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('&',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('&',			2.0,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('&',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('&',			1/4,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('&',			5L,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('&',			6.0*I,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('&',			1/7*I,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('&',			8L*I,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('&',			invalid,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_r,			NAI,
		     v_q,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_f32,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_f32,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_f64,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_f64,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_d,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_d,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_r,			NAI,
		     v_q,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_r,			NAI,
		     v_q,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_q,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_q,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_r,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_r,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_dd,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_dd,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_r,			NAI,
		     v_q,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_qq,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_qq,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_rr,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_rr,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('&',			v_o,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('&',			v_o,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('|',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('|',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('|',			2.0,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('|',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('|',			1/4,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('|',			5L,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('|',			6.0*I,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('|',			1/7*I,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('|',			8L*I,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('|',			invalid,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_f32,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_f32,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_f64,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_f64,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_d,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_d,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_q,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_q,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_r,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_r,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_dd,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_dd,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_qq,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_qq,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_rr,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_rr,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('|',			v_o,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('|',			v_o,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('^',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('^',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('^',			2.0,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('^',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('^',			1/4,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('^',			5L,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('^',			6.0*I,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('^',			1/7*I,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('^',			8L*I,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('^',			invalid,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_f32,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_f32,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_f64,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_f64,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_d,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_d,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			NAI,
		     0x30000000000000000,	N,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_q,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_q,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_r,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_r,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_dd,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_dd,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_qq,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_qq,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_rr,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_rr,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_vector_scalar('^',			v_o,
		     null,			NAI,
		     1,				NAI,
		     2.0,			NAI,
		     0x30000000000000000,	NAI,
		     1/4,			NAI,
		     5L,			NAI,
		     6.0*I,			NAI,
		     1/7*I,			NAI,
		     8L*I,			NAI,
		     invalid,			NAI);
binary_vector_vector('^',			v_o,
		     v_i8,			NAI,
		     v_u8,			NAI,
		     v_i16,			NAI,
		     v_u16,			NAI,
		     v_i32,			NAI,
		     v_u32,			NAI,
		     v_i64,			NAI,
		     v_u64,			NAI,
		     v_f32,			NAI,
		     v_f64,			NAI,
		     v_n,			NAI,
		     v_i,			NAI,
		     v_z,			NAI,
		     v_q,			NAI,
		     v_r,			NAI,
		     v_dd,			NAI,
		     v_qq,			NAI,
		     v_rr,			NAI,
		     v_o,			NAI);
binary_scalar_vector('+',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_r,			N,
		     v_q,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('+',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('+',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('+',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('+',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('+',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('+',			6.0*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('+',			1/7*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('+',			8L*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('+',			invalid,
		     v_i8,			NAN,
		     v_u8,			NAN,
		     v_i16,			NAN,
		     v_u16,			NAN,
		     v_i32,			NAN,
		     v_u32,			NAN,
		     v_i64,			NAN,
		     v_u64,			NAN,
		     v_f32,			NAN,
		     v_f64,			NAN,
		     v_n,			NAN,
		     v_i,			NAN,
		     v_z,			NAN,
		     v_q,			NAN,
		     v_r,			NAN,
		     v_dd,			NAN,
		     v_qq,			NAN,
		     v_rr,			NAN,
		     v_o,			NAN);
binary_vector_scalar('+',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_q,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_dd,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_dd,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_qq,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_qq,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_rr,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_rr,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('+',			v_o,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('+',			v_o,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('-',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('-',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('-',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('-',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('-',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('-',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('-',			6.0*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('-',			1/7*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('-',			8L*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('-',			invalid,
		     v_i8,			NAN,
		     v_u8,			NAN,
		     v_i16,			NAN,
		     v_u16,			NAN,
		     v_i32,			NAN,
		     v_u32,			NAN,
		     v_i64,			NAN,
		     v_u64,			NAN,
		     v_f32,			NAN,
		     v_f64,			NAN,
		     v_n,			NAN,
		     v_i,			NAN,
		     v_z,			NAN,
		     v_q,			NAN,
		     v_r,			NAN,
		     v_dd,			NAN,
		     v_qq,			NAN,
		     v_rr,			NAN,
		     v_o,			NAN);
binary_vector_scalar('-',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_q,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_dd,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_dd,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_qq,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_qq,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_rr,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_rr,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('-',			v_o,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('-',			v_o,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('*',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('*',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('*',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('*',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('*',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('*',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('*',			6.0*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('*',			1/7*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('*',			8L*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('*',			invalid,
		     v_i8,			NAN,
		     v_u8,			NAN,
		     v_i16,			NAN,
		     v_u16,			NAN,
		     v_i32,			NAN,
		     v_u32,			NAN,
		     v_i64,			NAN,
		     v_u64,			NAN,
		     v_f32,			NAN,
		     v_f64,			NAN,
		     v_n,			NAN,
		     v_i,			NAN,
		     v_z,			NAN,
		     v_q,			NAN,
		     v_r,			NAN,
		     v_dd,			NAN,
		     v_qq,			NAN,
		     v_rr,			NAN,
		     v_o,			NAN);
binary_vector_scalar('*',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_q,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_dd,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_dd,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_qq,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_qq,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_rr,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_rr,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('*',			v_o,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('*',			v_o,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('/',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_scalar_vector('/',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_scalar_vector('/',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('/',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_scalar_vector('/',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_scalar_vector('/',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('/',			6.0*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('/',			1/7*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_scalar_vector('/',			8L*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('/',			invalid,
		     v_i8,			NAN,
		     v_u8,			NAN,
		     v_i16,			NAN,
		     v_u16,			NAN,
		     v_i32,			NAN,
		     v_u32,			NAN,
		     v_i64,			NAN,
		     v_u64,			NAN,
		     v_f32,			NAN,
		     v_f64,			NAN,
		     v_n,			NAN,
		     v_i,			NAN,
		     v_z,			NAN,
		     v_q,			NAN,
		     v_r,			NAN,
		     v_dd,			NAN,
		     v_qq,			NAN,
		     v_rr,			NAN,
		     v_o,			NAN);
binary_vector_scalar('/',			v_i8,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_u8,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_i16,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_u16,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_i32,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_u32,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_i64,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_u64,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('/',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('/',			v_n,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_n,			FPE,
		     v_f32,			N,
		     v_f64,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_i,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('/',			v_z,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_q,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('/',			v_dd,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_dd,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('/',			v_qq,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_qq,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_vector_scalar('/',			v_rr,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_rr,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('/',			v_o,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('/',			v_o,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			FPE);
binary_scalar_vector('\\',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('\\',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('\\',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('\\',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('\\',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('\\',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('\\',			6.0*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('\\',			1/7*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('\\',			8L*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('\\',			invalid,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('\\',			v_i8,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_u8,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_i16,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_u16,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_i32,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_u32,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_i64,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_u64,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_f32,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_f64,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_n,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_i,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_d,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_z,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_q,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_r,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('\\',			v_dd,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NARN,
		     1/4,			NARN,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_dd,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('\\',			v_qq,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NARN,
		     1/4,			NARN,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_qq,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('\\',			v_rr,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NARN,
		     1/4,			NARN,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_rr,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('\\',			v_o,
		     null,			FPE,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NARN,
		     1/4,			NARN,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('\\',			v_o,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			FPE,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('%',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('%',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('%',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('%',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('%',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('%',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('%',			6.0*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('%',			1/7*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('%',			8L*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('%',			invalid,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('%',			v_i8,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_u8,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_i16,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_u16,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_i32,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_u32,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_i64,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_u64,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('%',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('%',			v_n,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_i,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('%',			v_z,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_q,
		     null,			FPE,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			FPE,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_vector_scalar('%',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('%',			v_dd,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NARN,
		     1/4,			NARN,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_dd,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('%',			v_qq,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NARN,
		     1/4,			NARN,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_qq,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('%',			v_rr,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NARN,
		     1/4,			NARN,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_rr,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('%',			v_o,
		     null,			FPE,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NARN,
		     1/4,			NARN,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NARN);
binary_vector_vector('%',			v_o,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			FPE,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			FPE);
binary_scalar_vector('<<',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<',			6.0*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<',			1/7*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<',			8L*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<',			invalid,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('<<',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_q,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_dd,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_dd,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_qq,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_qq,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_rr,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_rr,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<',			v_o,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<',			v_o,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>',			6.0*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>',			1/7*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>',			8L*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>',			invalid,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('>>',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_q,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_dd,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_dd,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_qq,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_qq,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_rr,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_rr,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>',			v_o,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>',			v_o,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<<',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<<',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<<',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<<',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<<',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<<',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('<<<',			6.0*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('<<<',			1/7*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('<<<',			8L*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('<<<',			invalid,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('<<<',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_q,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('<<<',			v_dd,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_dd,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('<<<',			v_qq,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_qq,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('<<<',			v_rr,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_rr,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('<<<',			v_o,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('<<<',			v_o,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>>',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>>',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>>',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>>',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>>',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>>',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('>>>',			6.0*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('>>>',			1/7*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('>>>',			8L*I,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_scalar_vector('>>>',			invalid,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NARN,
		     v_q,			NARN,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('>>>',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_q,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			N,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			N,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_vector_scalar('>>>',			v_dd,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_dd,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('>>>',			v_qq,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_qq,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('>>>',			v_rr,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_rr,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NARN);
binary_vector_scalar('>>>',			v_o,
		     null,			NARN,
		     1,				NARN,
		     2.0,			NARN,
		     0x30000000000000000,	NA32BI,
		     1/4,			NA32BI,
		     5L,			NARN,
		     6.0*I,			NARN,
		     1/7*I,			NARN,
		     8L*I,			NARN,
		     invalid,			NA32BI);
binary_vector_vector('>>>',			v_o,
		     v_i8,			NARN,
		     v_u8,			NARN,
		     v_i16,			NARN,
		     v_u16,			NARN,
		     v_i32,			NARN,
		     v_u32,			NARN,
		     v_i64,			NARN,
		     v_u64,			NARN,
		     v_f32,			NARN,
		     v_f64,			NARN,
		     v_n,			NARN,
		     v_i,			NARN,
		     v_z,			NA32BI,
		     v_q,			NA32BI,
		     v_r,			NARN,
		     v_dd,			NARN,
		     v_qq,			NARN,
		     v_rr,			NARN,
		     v_o,			NA32BI);
binary_scalar_vector('atan2',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('atan2',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('atan2',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('atan2',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('atan2',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('atan2',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('atan2',			6.0*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('atan2',			1/7*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('atan2',			8L*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('atan2',			invalid,
		     v_i8,			NAN,
		     v_u8,			NAN,
		     v_i16,			NAN,
		     v_u16,			NAN,
		     v_i32,			NAN,
		     v_u32,			NAN,
		     v_i64,			NAN,
		     v_u64,			NAN,
		     v_f32,			NAN,
		     v_f64,			NAN,
		     v_n,			NAN,
		     v_i,			NAN,
		     v_z,			NAN,
		     v_q,			NAN,
		     v_r,			NAN,
		     v_dd,			NAN,
		     v_qq,			NAN,
		     v_rr,			NAN,
		     v_o,			NAN);
binary_vector_scalar('atan2',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_q,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_dd,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_dd,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_qq,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_qq,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_rr,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_rr,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('atan2',			v_o,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('atan2',			v_o,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('pow',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('pow',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('pow',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('pow',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('pow',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('pow',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('pow',			6.0*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('pow',			1/7*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('pow',			8L*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('pow',			invalid,
		     v_i8,			NAN,
		     v_u8,			NAN,
		     v_i16,			NAN,
		     v_u16,			NAN,
		     v_i32,			NAN,
		     v_u32,			NAN,
		     v_i64,			NAN,
		     v_u64,			NAN,
		     v_f32,			NAN,
		     v_f64,			NAN,
		     v_n,			NAN,
		     v_i,			NAN,
		     v_z,			NAN,
		     v_q,			NAN,
		     v_r,			NAN,
		     v_dd,			NAN,
		     v_qq,			NAN,
		     v_rr,			NAN,
		     v_o,			NAN);
binary_vector_scalar('pow',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_q,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_dd,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_dd,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_qq,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_qq,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_rr,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_rr,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('pow',			v_o,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('pow',			v_o,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('hypot',			null,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('hypot',			1,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('hypot',			2.0,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('hypot',			0x30000000000000000,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('hypot',			1/4,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('hypot',			5L,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('hypot',			6.0*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('hypot',			1/7*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('hypot',			8L*I,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_scalar_vector('hypot',			invalid,
		     v_i8,			NAN,
		     v_u8,			NAN,
		     v_i16,			NAN,
		     v_u16,			NAN,
		     v_i32,			NAN,
		     v_u32,			NAN,
		     v_i64,			NAN,
		     v_u64,			NAN,
		     v_f32,			NAN,
		     v_f64,			NAN,
		     v_n,			NAN,
		     v_i,			NAN,
		     v_z,			NAN,
		     v_q,			NAN,
		     v_r,			NAN,
		     v_dd,			NAN,
		     v_qq,			NAN,
		     v_rr,			NAN,
		     v_o,			NAN);
binary_vector_scalar('hypot',			v_i8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_i8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_u8,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_u8,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_i16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_i16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_u16,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_u16,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_i32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_i32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_u32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_u32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_i64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_i64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_u64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_u64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_f32,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_f32,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_f64,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_f64,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_n,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_n,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_i,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_i,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_d,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_d,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_z,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_z,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_q,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_q,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_r,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_r,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_dd,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_dd,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_qq,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_qq,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_rr,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_rr,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
binary_vector_scalar('hypot',			v_o,
		     null,			N,
		     1,				N,
		     2.0,			N,
		     0x30000000000000000,	N,
		     1/4,			N,
		     5L,			N,
		     6.0*I,			N,
		     1/7*I,			N,
		     8L*I,			N,
		     invalid,			NAN);
binary_vector_vector('hypot',			v_o,
		     v_i8,			N,
		     v_u8,			N,
		     v_i16,			N,
		     v_u16,			N,
		     v_i32,			N,
		     v_u32,			N,
		     v_i64,			N,
		     v_u64,			N,
		     v_f32,			N,
		     v_f64,			N,
		     v_n,			N,
		     v_i,			N,
		     v_z,			N,
		     v_q,			N,
		     v_r,			N,
		     v_dd,			N,
		     v_qq,			N,
		     v_rr,			N,
		     v_o,			N);
